Uma tarefa com botões ! - página 3

 
Vladimir Pastushak:

De jeito nenhum, não é tão simples assim, o botão cujo código está acima sempre apertará aqueles botões cujo código está abaixo...

Ou seja, se pressionarmos o botão cujo código está acima e depois pressionarmos o botão cujo código está abaixo, o estado do primeiro botão sempre pressionará o último ...

É muito mais simples, na verdade. Não vejo nenhum problema ou dificuldade.

O que são os botões acima?

 
Vladimir Pastushak:
Ao usar OnChartEvent() o botão pressionado pode ser determinado pelo nome do botão e depois proceder como sugerido acima, pressionar botões com outros nomes, mas isso não funcionará no testador...
O que você quer dizer com nome? Que tal isso? Não é um empurrão, é um evento. E o estado é definido através daObjectGetInteger().
 
Dmitry Fedoseev:
Como você consegue ligar paraObjectGetInteger() para saber se o botão está pressionado?

Assim

bool tmp=falso;

ObjectGetInteger(0, "nome",OBJPROP_STATE,0,tmp);
 
Dmitry Fedoseev:
O que é isso pelo nome? Que tal isso? Não é um clique, é um evento. E o status é determinado pelaObjectGetInteger().
Você está brincando ou está falando sério?
 
Você tem aí seu próprio laço. Portanto, você precisa de um conjunto de estados de botões. Estamos constantemente passando por tudo isso, e se o estado do botão não corresponder ao estado da matriz, este é o nosso evento. Agora fazemos o que queremos, temos os dois botões e a matriz.
 
Vladimir Pastushak:
Você está brincando comigo ou está falando sério?
Não. Na verdade estou aterrorizado.
 
Dmitry Fedoseev:
Você tem lá seu próprio ciclo. Portanto, você precisa de um conjunto de estados de botões. Estamos constantemente passando por tudo isso, e se o estado do botão não corresponder ao estado da matriz, este é o nosso evento. Agora fazemos o que queremos, temos os dois botões e a matriz.
Não há loops, apenas temos 10 botões desenhados. Sem loops, sem arrays, sem estruturas. Tudo em estilo processual...
 
Dmitry Fedoseev:
Não. Na verdade estou horrorizado.
De quê?
 
Vladimir Pastushak:
Não há loops, apenas 10 botões desenhados. Sem loops, sem arrays, sem estruturas. É tudo procedimental...
Sim? Mas em algum lugar você liga paraObjectGetInteger() para saber se o botão está pressionado?
 
Dmitry Fedoseev:
Como é isso pelo nome? O que tem? Não é um clique, é um evento. E o estado é definido através deObjectGetInteger().

Evento de clique do mouse sobre objeto gráfico

CHARTEVENT_OBJECT_CLICK

Coordenada X

Coordenada Y

Nome do objeto gráfico onde o evento ocorreu