Galería de interfaces de usuario escritas en MQL - página 5

 

De nuevo un intento de integrar controles en las tablas. Con más éxito que los intentos anteriores, pero lejos de ser el mejor.


 

Claramente llevado al siguiente nivel aquí....


 

Tío, esto sí que está escrito en mi lenguaje de marcado en MQL5)).

Última imagen por hoy. Continuación mañana.


 

Impresionante. Se ha trabajado mucho.

Por desgracia, tengo una experiencia negativa con los elementos de la interfaz de usuario creados por desarrolladores de terceros. La gran mayoría de las ventanas con las que me encontré se mostraban con normalidad sólo con una determinada resolución de monitor y un valor de escalado del 100% en las propiedades de Windows. Y a una resolución de 4K y un escalado del 175% (mi caso), los controles se volvían ilegibles o se superponían entre sí.

Por cierto, esto también se aplica a las ventanas creadas con la ayuda de clases de interfaz de usuario incluidos en MetaEditor.

Cuando creas tus ventanas, ¿siempre compruebas cómo se verán en diferentes resoluciones de pantalla y valores de escalado en la configuración de Windows?

 
E38 controles se volvían ilegibles o se superponían entre sí.

Por cierto, esto también se aplica a las ventanas creadas con la ayuda de las clases de interfaz de usuario incluidas en el paquete MetaEditor.

Cuando creas tus ventanas, ¿siempre compruebas cómo se verán en diferentes resoluciones de pantalla y valores de escala en la configuración de Windows?

Gracias.
En el momento de desarrollar esta UI, el formato 4K era nuevo y fresco y no estaba tan extendido como hoy en día, y tal problema no existía. Más concretamente, yo desconocía los costes del 4K porque nadie había sacado el tema. Sin embargo, aunque me hubiera encontrado con este problema, no habría podido resolverlo a nivel de MQL. Lo más probable es que hubiera aconsejado al usuario que utilizara el monitor estándar hasta que los desarrolladores de MQ encontraran la solución adecuada y actualizaran el lenguaje y el terminal. Y entonces habría actualizado sus gráficos.

Pero no llegó a eso).

Añadido:

Sobre comprobar cómo se ven las ventanas y paneles en diferentes resoluciones de pantalla, no hice tales comprobaciones a propósito, ya que no hubo quejas ni comentarios entre los pocos usuarios de mi UI. Tal vez se habrían encontrado problemas, pero de nuevo - apenas se resolvieron a nivel MQL.
 
Реter Konow #:
Gracias.
Cuando se desarrolló esta interfaz, el formato 4K era nuevo y no estaba tan extendido como ahora, y este problema no existía. Más concretamente, yo desconocía los costes del 4K porque nadie sacó el tema. Sin embargo, aunque me hubiera encontrado con este problema, no habría podido resolverlo a nivel de MQL. Lo más probable es que hubiera aconsejado al usuario que utilizara el monitor estándar hasta que los desarrolladores de MQ encontraran la solución adecuada y actualizaran el lenguaje y el terminal. Y entonces habría actualizado sus gráficos.

Pero no llegó a eso).

Añadido:

Sobre comprobar cómo se ven las ventanas y paneles en diferentes resoluciones de pantalla, no hice tales comprobaciones a propósito, ya que no hubo quejas ni comentarios entre los pocos usuarios de mi UI. Tal vez se habrían encontrado problemas, pero de nuevo - apenas se resolvieron a nivel MQL.
En las propiedades del terminal hay DPI del monitor durante mucho tiempo, y en la ayuda hay un ejemplo de calcular el tamaño de los objetos gráficos.
 
Artyom Trishkin #:
En las propiedades del terminal hay DPI del monitor durante mucho tiempo, y en la ayuda hay un ejemplo de cálculo del tamaño de los objetos gráficos.
Así que, si me encontrara con un problema así, podría resolverlo fácilmente. Sin embargo, como he dicho antes, no me lo he encontrado. Todavía no he aprendido a buscar soluciones antes de que surjan los problemas, pero lo intento con todas mis fuerzas)).

Por cierto, ¿también hay ejemplos de cómo resolver el problema 4K en la ayuda?
 
Реter Konow #:
¿en la ayuda también hay ejemplos para resolver el problema 4K?

¿De qué problema estamos hablando?

 
Artyom Trishkin #:

¿De qué tipo de problema estamos hablando?

Del del post #44.

Por cierto, es extraño que la solución de la ayuda de la que hablas no se aplique en la UI-library nativa de ME, ...a juzgar por las palabras de la persona de arriba.
 
Реter Konow #:
El del post #44.

Por cierto, es extraño que la solución de la ayuda que comentas no se aplique en la UI-library nativa de ME, ...a juzgar por las palabras de la persona de arriba.

Aquí(TERMINAL_SCREEN_DPI):

Unejemplo de cálculo del factor 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;

Cuando se utiliza de esta manera, el recurso gráfico será el mismo tamaño a ojo en monitores con diferentes resoluciones. Al mismo tiempo, los tamaños de los elementos de control (botones, ventanas de diálogo, etc.) corresponderán a los ajustes de personalización.

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