Nein, so einfach ist das nicht. Die Schaltfläche, deren Code oben steht, wird immer die Schaltflächen drücken, deren Code unten steht...
Das heißt, wenn wir die Taste drücken, deren Code oben steht, und dann die Taste drücken, deren Code unten steht, wird der Zustand der ersten Taste immer die letzte drücken ...
Es ist wirklich viel einfacher. Ich sehe da überhaupt keine Probleme oder Schwierigkeiten.
Vladimir Pastushak: Wenn Sie OnChartEvent() verwenden, können Sie die gedrückten Schaltflächen anhand des Schaltflächennamens bestimmen und dann wie oben vorgeschlagen vorgehen und Schaltflächen mit anderen Namen drücken, aber das funktioniert nicht im Testprogramm...
Was meinen Sie mit Name? Wie wäre es damit? Es ist kein Anstoß, es ist ein Ereignis. Und der Zustand wird durchObjectGetInteger() definiert.
Dmitry Fedoseev: Was ist das für ein Name? Wie wäre es damit? Es ist kein Klick, es ist ein Ereignis. Und der Status wird durchObjectGetInteger() bestimmt.
Soll das ein Scherz sein oder meinen Sie das ernst?
Sie haben dort Ihre eigene Schleife. Sie benötigen also ein Array von Schaltflächenzuständen. Wir gehen das alles ständig durch, und wenn der Zustand der Schaltfläche nicht mit dem Zustand aus dem Array übereinstimmt, ist das unser Ereignis. Jetzt tun wir, was wir wollen, wir haben beide Schaltflächen und Array.
Dmitry Fedoseev: Sie haben dort Ihren eigenen Zyklus. Sie benötigen also ein Array von Schaltflächenzuständen. Wir gehen das alles ständig durch, und wenn der Zustand der Schaltfläche nicht mit dem Zustand aus dem Array übereinstimmt, ist das unser Ereignis. Jetzt tun wir, was wir wollen, wir haben beide Schaltflächen und das Array.
Es gibt keine Schleifen, wir haben nur 10 Knöpfe gezeichnet. Keine Schleifen, keine Arrays, keine Strukturen... Alles im prozeduralen Stil...
Vladimir Pastushak: Es gibt keine Schleifen, nur 10 gezeichnete Tasten... Keine Schleifen, keine Arrays, keine Strukturen... Es ist alles verfahrenstechnisch...
Ja? Aber irgendwo rufen SieObjectGetInteger() auf, um herauszufinden, ob die Taste gedrückt ist?
Dmitry Fedoseev: Wie ist das mit dem Namen? Wie steht es damit? Es ist kein Klick, es ist ein Ereignis. Und der Zustand wird überObjectGetInteger() definiert.
Nein, so einfach ist das nicht. Die Schaltfläche, deren Code oben steht, wird immer die Schaltflächen drücken, deren Code unten steht...
Das heißt, wenn wir die Taste drücken, deren Code oben steht, und dann die Taste drücken, deren Code unten steht, wird der Zustand der ersten Taste immer die letzte drücken ...
Es ist wirklich viel einfacher. Ich sehe da überhaupt keine Probleme oder Schwierigkeiten.
Was sind die Schaltflächen oben?
Wenn Sie OnChartEvent() verwenden, können Sie die gedrückten Schaltflächen anhand des Schaltflächennamens bestimmen und dann wie oben vorgeschlagen vorgehen und Schaltflächen mit anderen Namen drücken, aber das funktioniert nicht im Testprogramm...
Wie schaffen Sie es,ObjectGetInteger() aufzurufen, um zu wissen, ob die Taste gedrückt ist?
Wie diese
bool tmp=false;
ObjectGetInteger(0, "name",OBJPROP_STATE,0,tmp);Was ist das für ein Name? Wie wäre es damit? Es ist kein Klick, es ist ein Ereignis. Und der Status wird durchObjectGetInteger() bestimmt.
Wollen Sie mich auf den Arm nehmen oder ist das Ihr Ernst?
Sie haben dort Ihren eigenen Zyklus. Sie benötigen also ein Array von Schaltflächenzuständen. Wir gehen das alles ständig durch, und wenn der Zustand der Schaltfläche nicht mit dem Zustand aus dem Array übereinstimmt, ist das unser Ereignis. Jetzt tun wir, was wir wollen, wir haben beide Schaltflächen und das Array.
Nein, ich bin sogar entsetzt.
Es gibt keine Schleifen, nur 10 gezeichnete Tasten... Keine Schleifen, keine Arrays, keine Strukturen... Es ist alles verfahrenstechnisch...
Wie ist das mit dem Namen? Wie steht es damit? Es ist kein Klick, es ist ein Ereignis. Und der Zustand wird überObjectGetInteger() definiert.
Mausklick-Ereignis auf grafisches Objekt
CHARTEVENT_OBJECT_CLICK
X-Koordinate
Y-Koordinate
Name des grafischen Objekts, in dem das Ereignis aufgetreten ist