Wie binde ich ein Ereignis an die gedrückte linke Maustaste?
-
17-09-2020 - |
Frage
Ich benötige, dass ein Befehl so lange ausgeführt wird, wie die linke Maustaste gedrückt gehalten wird.
Lösung
Schauen Sie sich Tabelle 7-1 der Dokumente an.Es gibt Ereignisse, die eine Bewegung angeben, während die Taste gedrückt wird. <B1-Motion>
, <B2-Motion>
usw.
Wenn es sich nicht um eine Press-and-Move-Veranstaltung handelt, können Sie mit Ihrer Aktivität beginnen <Button-1>
und höre damit auf, wenn du empfängst <B1-Release>
.
Andere Tipps
Wenn Sie ohne dazwischenliegende Ereignisse "etwas zu passieren" möchtenStellen Sie ein Flag ein, wenn die Taste gedrückt wird, ohne freigegeben.Aktivieren Sie beim Abfragen das Flag, und führen Sie Ihren Code aus, wenn Sie eingestellt sind.
Hier ist etwas, um den Punkt zu veranschaulichen:
generasacodicetagpre.Jedoch , der Abfrage ist in der Regel nicht in einer GUI-App erforderlich.Sie kümmern sich wahrscheinlich nur darum, was passiert, während die Maus gedrückt wird und bewegt sich.In diesem Fall bindet anstelle der Umfrage-Funktion do_work einfach einfach auf ein generationsporticetagcode-Ereignis.
Verwenden Sie die Maus-Move / Motion Events und überprüfen Sie die Modifizierer-Flags.Die Maustasten werden dort angezeigt.