Discusión sobre el artículo "El lenguaje MQL como medio de marcado de la interfaz gráfica de programas MQL (Parte 3). Diseñador de formas"
El editor visual debe seguir incluyendo la edición manual de elementos: estirar, mover, escribir texto, copiar, etc. El marcado auxiliar es deseable.
Este editor es prometedor, aunque no tengo ni idea de cómo el autor realiza los otros requisitos, ya que no entiendo su tecnología. Se "subió a los hombros" de la biblioteca estándar y por un lado le dio un poderoso empujón hacia adelante, por otro lado te hace heredar sus limitaciones. No está diseñada para la transformación a gran escala... Habrá que añadir mucha funcionalidad desde arriba.
Lista de requisitos para el futuro editor:
1. Personalización manual de los elementos.
2. 2. Copia de elementos.
3. Gestión simultánea de propiedades de un conjunto de elementos.
4. Encuadre auxiliar.
5. Modo multiventana.
6. Creación de ventanas de diferentes tipos.
7. Soporte para propiedades de ventana: "siempre arriba", bloquear otras, con/sin minimización.
8. Edición paralela de ventanas.
9. Borrado de ventanas.
Eso es todo por ahora.
ZY. Por lo que sé, los controladores SB consisten en objetos MT, lo que por un lado - simplifica el sistema de interacción con los elementos y el ajuste manual (hace mucho tiempo tuve un editor basado en objetos MT y no era difícil hacerlo), por otro lado (si aceptas esta simplificación) - quita todas las ventajas del canvas (entre ellas - velocidad, efectos visuales y mucho más). Es decir - el "efecto doping" de usar SB al crear un editor, limita severamente su desarrollo. Pero, veamos...
- www.mql5.com
En un futuro cercano creo que cualquiera será capaz de construir y configurar cualquier interfaz gráfica que atenderá a sus necesidades.
- www.mql5.com
Hola,
Me encuentro con este tipo de situación en uno de mis portátiles.
Todo se ve diminuto excepto las etiquetas de texto.
El valor de "TerminalInfoInteger(TERMINAL_SCREEN_DPI)" es 192.
¿Sabéis cómo solucionarlo? Pensaba que las librerías se ajustarían automáticamente según la configuración de mi pantalla.
Hola,
Me estoy enfrentando a este tipo de situación en uno de mis portátiles.
Todo se ve pequeño excepto las etiquetas de texto.
El valor de "TerminalInfoInteger(TERMINAL_SCREEN_DPI)" es 192.
¿Sabes cómo solucionarlo? Pensé que las librerías se ajustarían automáticamente de acuerdo a la configuración de mi pantalla.
Desafortunadamente no tengo medios para probarlo en diferentes entornos. La librería está basada en controles estándar (con pequeñas correcciones no relacionadas con los dpi). Así que si está jodido de alguna manera, esto parece ser un problema común, no de la biblioteca.
Pero creo que primero deberías comprobar la configuración de escala de Windows.
Sólo una idea - tratar de parchear Defines.mqh a:
#define CONTROLS_FONT_SIZE (-10)
Se añade el signo menos.
U otra idea:
#define CONTROLS_FONT_SIZE ((int)(10.0 / (TerminalInfoInteger(TERMINAL_SCREEN_DPI) / 96.0)))Hazme saber si alguna de las variantes ayuda.
- Aplicaciones de trading gratuitas
- 8 000+ señales para copiar
- Noticias económicas para analizar los mercados financieros
Usted acepta la política del sitio web y las condiciones de uso

Artículo publicado El lenguaje MQL como medio de marcado de la interfaz gráfica de programas MQL (Parte 3). Diseñador de formas:
En este artículo, finalizaremos la descripción del nuevo concepto para la construcción de la interfaz de ventana de los programas MQL con la ayuda de las construcciones del lenguaje MQL. El editor gráfico especial permitirá ajustar de forma interactiva una disposición formada por las clases básicas de elementos de GUI, y después exportarla a una descripción MQL para usarla en nuestro proyecto MQL. Asimismo, presentamos la construcción interna del editor y las instrucciones para el usuario. Los códigos fuente se adjuntan al final del artículo.
El editor ha sido pensado para las clases de los elementos de interfaz de la Biblioteca Estándar. Para crear instrumentos similares para otras bibliotecas, necesitaremos escribir implementaciones concretas de todos los entes abstractos del sistema de marcado propuesto. En este caso, además, nos guiaremos por la implementación de las clases de marcado para la Biblioteca Estándar.
Debemos prestar atención a que el nombre "biblioteca de componentes estándar" no se corresponde del todo con la realidad, dado que, en el contexto de los artículos anteriores, ya tuvimos que modificarlo sustancialmente y sacarlo a una rama de versión paralela en la carpeta ControlsPlus. En el marco del presente artículo, continuaremos usándolo y modificándolo.
Vamos a enumerar los tipos de elementos que soportará el editor.
Todas las clases posibilitan el cambio adaptativo del tamaño (algunos tipos estándar ya tenían esta posibilidad inicialmente, para otros, hemos tenido que introducir nuestros propios cambios).
Autor: Stanislav Korotky