Galeria de UIs escritas em MQL - página 5

 

Novamente uma tentativa de integrar controles em tabelas. Mais bem-sucedida do que as tentativas anteriores, mas longe de ser a melhor.


 

Claramente levado para o próximo nível aqui....


 

Cara, isso está realmente escrito em minha linguagem de marcação em MQL5)).

Última imagem de hoje. Continuação amanhã.


 

Impressionante. Muito trabalho foi feito!

Infelizmente, tenho uma experiência negativa com elementos da interface do usuário criados por desenvolvedores de terceiros. A grande maioria das janelas que encontrei era exibida normalmente apenas em uma determinada resolução de monitor e com um valor de escala de 100% nas propriedades do Windows. E com resolução de 4K e escala de 175% (meu caso), os controles se tornaram ilegíveis ou se sobrepuseram uns aos outros.

A propósito, isso também se aplica às janelas criadas com a ajuda das classes de interface do usuário incluídas no MetaEditor.

Ao criar suas janelas, você sempre verifica como elas ficarão em diferentes resoluções de tela e valores de escala nas configurações do Windows?

 
E38 controles se tornavam ilegíveis ou se sobrepunham uns aos outros.

A propósito, isso também se aplica às janelas criadas com a ajuda das classes de interface do usuário incluídas no pacote MetaEditor.

Ao criar suas janelas, você sempre verifica como elas ficarão em diferentes resoluções de tela e valores de escala nas configurações do Windows?

Obrigado.
Na época em que desenvolvi essa interface de usuário, o formato 4K era novo e recente e não era tão difundido como é hoje, e esse problema não existia. Mais precisamente, eu não tinha conhecimento dos custos do 4K porque ninguém havia mencionado isso. Entretanto, mesmo que eu tivesse encontrado esse problema, não teria conseguido resolvê-lo em nível de MQL. Provavelmente, eu teria aconselhado o usuário a usar o monitor padrão até que os desenvolvedores de MQ encontrassem a solução adequada e atualizassem a linguagem e o terminal. E então ele teria atualizado seus gráficos.

Mas não chegou a esse ponto).

Adicionado:

Sobre a verificação da aparência das janelas e dos painéis em diferentes resoluções de tela, não fiz essas verificações de propósito, pois não houve reclamações e comentários entre os poucos usuários da minha interface do usuário. Talvez os problemas tivessem sido encontrados, mas, novamente, eles dificilmente foram resolvidos no nível MQL.
 
Реter Konow #:
Obrigado.
Na época em que essa interface do usuário foi desenvolvida, o formato 4K era novo e recente e não era tão difundido como é hoje, e esse problema não existia. Mais precisamente, eu não estava ciente dos custos do 4K porque ninguém falou sobre isso. Entretanto, mesmo que eu tivesse encontrado esse problema, não teria conseguido resolvê-lo em nível de MQL. Muito provavelmente, eu teria aconselhado o usuário a usar o monitor padrão até que os desenvolvedores de MQ encontrassem a solução adequada e atualizassem a linguagem e o terminal. E então ele teria atualizado seus gráficos.

Mas não chegou a esse ponto).

Adicionado:

Sobre a verificação da aparência das janelas e dos painéis em diferentes resoluções de tela, não fiz essas verificações de propósito, pois não houve reclamações e comentários entre os poucos usuários da minha interface do usuário. Talvez tivessem sido encontrados problemas, mas, novamente, eles dificilmente foram resolvidos no nível MQL.
Nas propriedades do terminal, há DPI do monitor há muito tempo, e na ajuda há um exemplo de cálculo do tamanho dos objetos gráficos.
 
Artyom Trishkin #:
Nas propriedades do terminal, há DPI do monitor há muito tempo, e na ajuda há um exemplo de cálculo do tamanho dos objetos gráficos.
Portanto, se eu enfrentasse esse problema, poderia resolvê-lo facilmente. No entanto, como eu disse antes, não encontrei esse problema. Ainda não aprendi a procurar soluções antes dos problemas emergentes, mas estou me esforçando muito)).

A propósito, exemplos de solução do problema 4K também estão na ajuda?
 
Реter Konow #:
exemplos de solução do problema 4K também estão na ajuda?

De que problema estamos falando?

 
Artyom Trishkin #:

De que tipo de problema estamos falando?

O da postagem nº 44.

A propósito, é estranho que a solução da ajuda de que você está falando não seja aplicada na biblioteca de interface do usuário nativa do ME, ...a julgar pelas palavras da pessoa acima.
 
Реter Konow #:
A que está na postagem nº 44.

A propósito, é estranho que a solução da ajuda de que você está falando não seja aplicada na biblioteca de IU nativa do ME, ...a julgar pelas palavras da pessoa acima.

Aqui(TERMINAL_SCREEN_DPI):

Umexemplo de cálculo de fator de escala:

//--- создаём кнопку шириной 1.5 дюйма на экране
int screen_dpi = TerminalInfoInteger(TERMINAL_SCREEN_DPI); // получим DPI монитора пользователя
int base_width = 144;                                      // базовая ширина в экранных точках для стандартных мониторов c DPI=96
int width      = (button_width * screen_dpi) / 96;         // вычислим ширину кнопки для монитора пользователя (с учётом его DPI)
...
 
//--- вычисление коэффициента масштабирования в процентах
int scale_factor=(TerminalInfoInteger(TERMINAL_SCREEN_DPI) * 100) / 96;
//--- использование коэффициента масштабирования
width=(base_width * scale_factor) / 100;

Quando usado dessa forma, o recurso gráfico terá o mesmo tamanho a olho nu em monitores com resoluções diferentes. Ao mesmo tempo, os tamanhos dos elementos de controle (botões, janelas de diálogo etc.) corresponderão às configurações de personalização.

Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала
Документация по MQL5: Константы, перечисления и структуры / Состояние окружения / Состояние клиентского терминала
  • www.mql5.com
Идентификаторы для получения информации о клиентском терминале функциями TerminalInfoInteger() и TerminalInfoString() . В качестве параметра эти...