¡Una tarea con botones! - página 3

 
Vladimir Pastushak:

Ni hablar, no es tan sencillo, el botón cuyo código está arriba siempre pulsará los botones cuyo código está abajo...

Es decir, si pulsamos el botón cuyo código está arriba y luego pulsamos el botón cuyo código está abajo, el estado del primer botón siempre pulsará el último ...

Es mucho más sencillo, en realidad. No veo ningún problema ni dificultad en absoluto.

¿Qué son los botones de arriba?

 
Vladimir Pastushak:
Cuando se utiliza OnChartEvent() se puede determinar el botón pulsado por el nombre del botón y luego proceder como sugieres arriba, pulsar botones con otros nombres, pero esto no funcionará en el probador...
¿Qué quiere decir con "nombre"? ¿Qué te parece esto? No es un empujón, es un evento. Y el estado se define a través deObjectGetInteger().
 
Dmitry Fedoseev:
¿Cómo se consigue llamar aObjectGetInteger() para saber si el botón está pulsado?

Así

bool tmp=false;

ObjectGetInteger(0, "name",OBJPROP_STATE,0,tmp);
 
Dmitry Fedoseev:
¿Qué es eso del nombre? ¿Qué te parece esto? No es un clic, es un evento. Y el estado se determina medianteObjectGetInteger().
¿Está bromeando o habla en serio?
 
Ahí tienes tu propio bucle. Así que necesitas un array de estados de botones. Estamos revisando constantemente todo esto, y si el estado del botón no coincide con el estado del array, este es nuestro evento. Ahora hacemos lo que queremos, tenemos tanto botones como array.
 
Vladimir Pastushak:
¿Me estás tomando el pelo o hablas en serio?
No. En realidad estoy aterrorizado.
 
Dmitry Fedoseev:
Ahí tienes tu propio bucle. Así que necesitas un array de estados de botones. Estamos revisando constantemente todo esto, y si el estado del botón no coincide con el estado del array, este es nuestro evento. Ahora hacemos lo que queremos, tenemos los dos botones y el array.
No hay bucles, sólo tenemos 10 botones dibujados. Sin bucles, sin matrices, sin estructuras... Todo en estilo procesal...
 
Dmitry Fedoseev:
No. En realidad estoy horrorizado.
¿De qué?
 
Vladimir Pastushak:
No hay bucles, sólo 10 botones dibujados... Sin bucles, sin matrices, sin estructuras... Es todo un procedimiento...
¿Sí? ¿Pero en algún lugar se llama aObjectGetInteger() para saber si el botón está pulsado?
 
Dmitry Fedoseev:
¿Cómo es eso por el nombre? ¿Qué pasa con eso? No es un clic, es un evento. Y el estado se define medianteObjectGetInteger().

Evento de clic del ratón en el objeto gráfico

CHARTEVENT_OBJECT_CLICK

Coordenada X

Coordenada Y

Nombre del objeto gráfico donde se ha producido el evento