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

 

Resulta que la parte práctica de la demo es bastante extensa y su cobertura llevará tiempo. Contaré y mostraré las nuevas funciones en detalle y de forma accesible, con comentarios, imágenes y gifs. Puede que tenga que dividir la presentación en dos días: hoy y mañana. No pasa nada, tu comprensión mejorará. Tú también deberías descansar.


El plan de análisis de la funcionalidad de la nueva versión del motor:

1. Te recuerdo que las nuevas carpetas y archivos deben ser instalados en ME después del borrado completo de los anteriores. No es necesario hacer sustituciones.

2. Para trabajar necesitamos abrir los archivos (1) EA Shell v1.mq5 y API.mqh . No es necesario abrir otros archivos. Usaremos la misma interfaz y ventanas familiares del proyecto Demo 1.mqh. El primer archivo debe estar en la carpeta Experts (creo que ya está allí), y el segundo se puede encontrar aquí:



Los archivos UIDATA.mqh y API.mqh en esta carpeta ya contienen todo lo que necesitas. No hay necesidad de generar nuevos archivos en el constructor.


3. El trabajo principal tendrá lugar en el archivo (1) EA Shell v1.mq5, en las funciones _OnInit() y _OnTimer, pero a veces miraremos en el archivo API.mqh. Si tienes curiosidad, puedes abrir el archivo UIDATA.mqh y ver cómo son las funciones de envoltura de ventanas y elementos. Están impresas en la parte inferior. Por lo demás, este archivo no es necesario para el trabajo y puede cerrarse.


Los temas que cubriremos son

1. Navegar por la lista de intellisense y seleccionar la función de ventana correcta.

2. 2. Abrir y cerrar ventanas programáticamente.

3. Orientación en la lista de intellisense y selección de la función correcta en la ventana correcta.

4. Navegando a través de listas de propiedades de elementos individuales.

5. Análisis sintáctico del nombre del elemento y de la función envolvente de la ventana.

6. Devolver el valor del parámetro de un elemento seleccionado a una variable de su tipo. Considerar tres tipos de varios elementos diferentes.

7. Estableciendo valores a parámetros de diferentes tipos de elementos. Veamos cómo aparecerán los valores en las ventanas de interfaz de estos elementos.

8. Devolver los valores de los parámetros de un elemento, modificando y reenviando ese valor a otro elemento. Consideremos diferentes tipos de elementos y valores, y probemos el reenvío entre diferentes tipos de elementos en diferentes ventanas.

9. Devolución del valor anterior (_V_LAST). Cuándo y para qué casos se requiere el último valor (no confundir con el valor actual).

10. Probar la configuración de estados ON/OFF/LOCK_ON/LOCK_OFF/LOCK/UNLOCK para diferentes tipos de elementos.

11. Intentemos enlazar y sincronizar los cambios de valores de elementos de diferentes tipos: por ejemplo, campo de entrada con botones y deslizador. Supongamos que cuando el valor de un elemento (manual o software) cambia, el valor en el segundo elemento cambia en consecuencia.

12. Intentemos restablecer mediante programación los límites de rango del deslizador y del campo de entrada con botones a través de funciones wrapper. No he tenido tiempo de probarlo, pero algo me sugiere que funcionará. No obstante, vamos a ver.

13. Intentemos devolver estados de elementos a través de funciones wrapper. Está incluido en la funcionalidad, pero no he tenido tiempo de probarlo. Así que veremos... El resultado es desconocido.

14. Vamos a obtener y establecer colores para el texto y las bases de los elementos. Podemos intentar asociar estos colores con algunos eventos simples o límites de valores.

15. Te contaré más sobre cómo navegar y leer la impresión del nuevo archivo API.


Eso es todo por ahora, pero las adiciones son posibles a medida que avanzamos.

 

Empecemos considerando los temas mencionados anteriormente.

1. orientarse en la lista de intellisense y seleccionar la función de la ventana requerida:

Teclear w_, apareceuna lista de funciones delas ventanas UI de este proyecto.


2- Orientarse en la lista de intellisense y seleccionar la función deseada de la ventana seleccionada:

Tras seleccionar una ventana, nos fijamos en su número.

Borramos el guión después de w e imprimimos su número.

Este es el prefijo para la lista de todos los interactivos dentro de esa ventana:


//-------------------------------------------------------------------------------------------------------------------------------------------

El gif muestra la facilidad y el dinamismo de este proceso:



A continuación, vamos a ver cómo abrir y cerrar ventanas GUI.

 

3. abrir y cerrar ventanas:

  • Para abrir una ventana tienes que seleccionar su nombre de la lista deintellisense y poner entre paréntesis un punto y coma.No pongas nada dentro de la llamada.

  • Para cerrar una ventana necesitas hacer lo mismo, pero poner 0 en los corchetes.



Así es como se ve en el proceso:





Continuaremos con los temas mañana, con nuevas energías.

 
sin costuras
 

选择窗口后,我们查看其编号。

Borramos el guión después de la w e imprimimos su número.

Este es el prefijo de todas las listas de interacción dentro de esa ventana:

¿Qué son p1~p7? Lo tengo. Es el atributo

 
La interfaz gráfica de usuario no funciona en el probador todavía
 
hini #:

¿Qué es p1~p7? Ya veo. Es un atributo

Es un prefijo para abrir una lista de propiedades individuales de elementos disponibles para devolver y establecer los valores de su función envolvente.


 
hini #:
La GUI no funciona en el probador todavía.
No he investigado este tema todavía, no he tenido tiempo. Cuando termine de escribir la funcionalidad básica, veré si es posible hacer algo.
 
Реter Konow #:
Todavía no he mirado esto porque no he tenido tiempo. Cuando termine de escribir la funcionalidad básica veré si es posible hacer algo al respecto.
Porque en el tester no llama a OnChartEvent
 
Pasemos al siguiente tema y veamos las listas de propiedades de elementos individuales.