LabVIEWForum.de - Welches Maus-Event muss ich nehmen?

LabVIEWForum.de

Normale Version: Welches Maus-Event muss ich nehmen?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo !

Ich habe einen Button -> nach_rechts. In einem Eventcase möchte ich den Button auswerten. Event Wertänderung funktioniert. Dann gibt es noch die beiten Möglichkeiten "Maus gedrückt" und "Maus gedrückt?" und noch ein paar andere. Das Event nachrechts wird stets nur einmal ausgeführt. Es soll aber so lange ausgeführt werden, wie der Mauszeiger dort drauf und gedrückt ist. Leider weis ich da grad nicht weiter, wie ich das hinbekommen kann.
Hallo Hasenfuss,

dann solltest du mit 3 Events arbeiten: "Maus gedrückt", "Timeout" und "Maus losgelassen"!

Mal etwas Pseudo-Code:
Code:
WENN Maus gedrückt DANN Flag setzen
WENN Maus losgelassen DANN Flag löschen
WENN Timeout und Flag setzt DANN "nach rechts"
WENN/DANN sind bei dir die Events. Wenn der User eine zittrige Hand hat, musst du evtl. auch noch MausLeave auswerten...
Hi GerdW, herzlichen Dank für die schnelle Antwort. Ich versuche erstmal, dass mit dem Pseudocode umzusetzen, das mit einer evtl. zittrigen Hand lass ich erstmal weg.
Hab es jetzt hinbekommen mit dem Pseudocode, einem Timeout-case und Mausflags. Vielen Dank nochmal fuer Deine Hilfe.
Ich habe eine Frage zu dem Beispiel mit dem Mauszeiger und dem Taster.

Damit das Reagieren bei gedrücktem Taster funktioniert, muss ich in diesem Beispiel ein timeout in der Eventstruktur setzen. Das bedeutet aber, dass die Eventstruktur "pollt". Um das Pollen im Hauptprogramm zu vermeiden, muss das Element mit dem Zeiger, der so lange reagiert, wie der Mauszeiger gedrückt wird, in einem anderen Programm sein.

Was würde man hier machen?

Ein XControl
Vorteil: das reagiert ja nur dann, solange die Maus in dem XControl-Bereich ist
Nachteil: Ich find aber ein XControl dazu etwas kompliziert in der Programmierung für ein einmaliges Anzeigeelement

Ein Subpanel?

Was für Möglichkeiten gäbe es noch?
(02.04.2013 23:37 )Hasenfuss schrieb: [ -> ]Damit das Reagieren bei gedrücktem Taster funktioniert, muss ich in diesem Beispiel ein timeout in der Eventstruktur setzen. Das bedeutet aber, dass die Eventstruktur "pollt".
Weiß nicht, was Du mit "ein Timeout in der Eventstruktur setzen" meinst. Was jedenfalls den Timeoutcase der Ereignisstruktur betrifft: Der führt nicht dazu, dass die Ereignisstruktur pollt. Während des Wartens auf den Timout wartet die Ereignsistruktur auch auf neue Ereignisse und führt sie gegebenenenfalls vorrangig aus - pollen ist etwas anderes.

Hier Beispiel:
[attachment=44177]
Hi Lucky,

dass ist echt eine genial-einfache Lösung, da wäre ich nie drauf gekommen. Vielen Dank für Deine Hilfe.
Referenz-URLs