¿Cómo puedo determinar si el botón de desplazamiento está pulsado o presionado y, en ese caso, presionarlo? - página 2

 
Entonces, ¿cuál era el objetivo de tu anterior post?
 
Zhunko:

Yo también tenía mis dudas :-)) Lo he comprobado. Funciona.

Sí, lo siento, es que pensaba que ToolBar32 era una clase no estándar y por tanto no hay funciones winapi habituales para ella. Por eso tenía dudas. Pero ahora lo he comprobado y hay mensajes de ventana estándar para ello. En particular, TB_GETSTATE
 

Pregunta directa al autor de la biblioteca: ¿Cómo se implementa esto en BAC? ¿A través de qué funciones WinAPI?

 
Лучше:
Perdón, es que pensé que ToolBar32 era alguna clase no estándar y por eso no tiene ninguna función winapi habitual. Por eso me lo preguntaba. Pero ahora lo he comprobado y hay mensajes de ventana estándar para ello. En particular, TB_GETSTATE

Esta no es la mejor manera de hacerlo. Al principio quería hacerlo mediante la gestión de la clase ToolBar32 .Incluso hay vestigios de este código en la inicialización de la clase para trabajar con las ventanas de MT4. Pero tendríamos que sincronizar de alguna manera la actividad de la ventana y la petición al control. Esto no es fiable. La actividad de la ventana puede ser anulada por cualquiera. Es mejor obtener los valores de las casillas de verificación en las propiedades del gráfico. No es muy bonito, pero es absolutamente fiable.

LEOK:

Pregunta directamente al autor de la biblioteca: ¿cómo se implementa en la suya? ¿Con qué funciones WinAPI?

Todo está como siempre. Tienes todo en tus códigos anteriores.

Hay un descriptor gráfico. Con él se abren las propiedades del gráfico. Luego se cambia la ficha. Busque el ID de la casilla de verificación requerida y obtenga su valor.

 
Zhunko:

Esta no es la mejor manera de hacerlo. Al principio quería hacerlo mediante la gestión de la claseToolBar32 .Incluso hay vestigios de este código en la inicialización de la clase para trabajar con las ventanas de MT4. Pero tendríamos que sincronizar de alguna manera la actividad de la ventana y la petición al control. Esto no es fiable. La actividad de la ventana puede ser anulada por cualquiera. Es mejor obtener los valores de las casillas de verificación en las propiedades del gráfico. No es muy bonito, pero es absolutamente seguro.

Es lo mismo de siempre. Tienes todo en los códigos anteriores.

Tiene un descriptor gráfico. Con él se abren las propiedades del gráfico. Entonces cambias de pestaña. Busque el ID de la casilla de verificación requerida y obtenga su valor.


Perdón, pero ¿qué es el cambio de pestaña y cómo se encuentra la casilla correcta para obtener su valor?

¿Qué sabes tú?

 
LEOK:


Perdón, pero ¿qué es el cambio de pestaña y cómo encontrar la casilla correcta para obtener su valor?

¿Puedes darme una pista?

El gráfico tiene propiedades. Mira allí. Lo que hay en tu foto es demasiado complicado. Este panel puede ocupar diferentes posiciones en MT4. Las diferentes posiciones tienen diferente acceso a ella. El problema de la sincronización con la actividad del gráfico. Es muy complejo para MQL4.

Utiliza la biblioteca. Todo se ha resuelto allí. Se ha realizado la optimización. Funciona rápidamente.

Mi biblioteca lee todos los descriptores estáticos de las ventanas de MT4 en el momento de la inicialización. Entonces no busca nada. Lo llena enseguida.

 
LEOK:
Disculpe, pero ¿qué es el cambio de pestaña y cómo encuentro la casilla correcta para obtener su valor?
¿Puede decírmelo, por favor?
La forma más fácil es simplemente mirar el rastro de los clics de los botones en los mensajes de Windows.
Sí, hay mucho desorden entre los mensajes. Sí, es complicado por su tedio.
Si se te ocurre una forma más sencilla, escríbela.
 
Zhunko:

El gráfico tiene propiedades. Mira allí. Lo que hay en tu foto es demasiado complicado. Este panel puede ocupar diferentes posiciones en MT4. Las diferentes posiciones tienen diferente acceso a ella. El problema de la sincronización con la actividad del gráfico. Es muy complejo para MQL4.

Utiliza la biblioteca. Todo se ha resuelto allí. Está optimizado. Funciona rápidamente.

Mi biblioteca lee todos los descriptores estáticos de las ventanas de MT4 en el momento de la inicialización. Entonces no busca nada. Lo llena enseguida.


Por fin está aquí.

Debería haber pulsado F8. Hay una solución para todo el problema.

 
LEOK:

¡Por fin lo he conseguido!
Deberías haber pulsado la tecla F8. ¡Ahí está la solución a toda la cuestión!

Algo no está bien en tu cabeza...
El comando gráfico llega sin abrir este cuadro de diálogo.
 
jartmailru:
Algo no está bien en tu mente...
El comando gráfico le llega sin abrir este diálogo.

Entonces estoy totalmente confundido. Por favor, al menos dame el código o pon una imagen que lo explique .... por favor. ¡!