Un compito con i pulsanti! - pagina 3

 
Vladimir Pastushak:

No, non è così semplice, il pulsante il cui codice è sopra spingerà sempre i pulsanti il cui codice è sotto...

Cioè, se premiamo il bottone il cui codice è sopra e poi premiamo il bottone il cui codice è sotto, lo stato del primo bottone premerà sempre l'ultimo ...

È molto più semplice, davvero. Non vedo alcun problema o difficoltà.

Cosa sono i pulsanti qui sopra?

 
Vladimir Pastushak:
Quando si usa OnChartEvent() il pulsante premuto può essere determinato dal nome del pulsante e poi procedere come hai suggerito sopra, premere pulsanti con altri nomi, ma questo non funziona nel tester...
Cosa intende per nome? Che ne dite di questo? Non è una spinta, è un evento. E lo stato è definito attraversoObjectGetInteger().
 
Dmitry Fedoseev:
Come riuscite a chiamareObjectGetInteger() per sapere se il pulsante è premuto?

Come questo

bool tmp=false;

ObjectGetInteger(0, "nome",OBJPROP_STATE,0,tmp);
 
Dmitry Fedoseev:
Cos'è quel nome? Che ne dite di questo? Non è un clic, è un evento. E lo stato è determinato daObjectGetInteger().
Stai scherzando o sei serio?
 
Lì hai il tuo loop personale. Quindi avete bisogno di un array di stati di pulsanti. Stiamo costantemente passando attraverso tutto questo, e se lo stato del pulsante non corrisponde allo stato dell'array, questo è il nostro evento. Ora facciamo quello che vogliamo, abbiamo sia pulsanti che array.
 
Vladimir Pastushak:
Mi prendi in giro o fai sul serio?
No, in realtà sono terrorizzato.
 
Dmitry Fedoseev:
Lì hai il tuo loop personale. Quindi avete bisogno di un array di stati di pulsanti. Stiamo costantemente passando attraverso tutto questo, e se lo stato del pulsante non corrisponde allo stato dell'array, questo è il nostro evento. Ora facciamo quello che vogliamo, abbiamo entrambi i pulsanti e l'array.
Non ci sono loop, abbiamo solo 10 pulsanti disegnati. Nessun ciclo, nessun array, nessuna struttura... Tutto in stile procedurale...
 
Dmitry Fedoseev:
No, in realtà sono inorridito.
Di cosa?
 
Vladimir Pastushak:
Non ci sono loop, solo 10 pulsanti disegnati... Nessun ciclo, nessun array, nessuna struttura... È tutto procedurale...
Sì? Ma da qualche parte chiamateObjectGetInteger() per scoprire se il pulsante è premuto?
 
Dmitry Fedoseev:
Com'è il nome? Che dire? Non è un clic, è un evento. E lo stato è definito tramiteObjectGetInteger().

Evento click del mouse su oggetto grafico

CLIC SULL'OGGETTO

Coordinata X

Coordinata Y

Nome dell'oggetto grafico in cui si è verificato l'evento

Motivazione: