Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20.6
Is waiting mouse up
|
Is waiting mouse up -> Funktionsergebnis | ||||||||
Parameter | Typ | Beschreibung | ||||||
Funktionsergebnis | Boolean |
![]() |
Wahr, wenn das Objekt auf ein Maus-Loslassen Ereignis wartet; sonst Falsch | |||||
Die Funktion Is waiting mouse up gibt Wahr zurück, wenn das aktuelle Objekt angeklickt und die Maustaste nicht losgelassen wurde, während das Hauptfenster den Fokus hat. Sonst gibt sie Falsch zurück, insbesondere, wenn das Hauptfenster den Fokus verloren hat, bevor die Maustaste losgelassen wurde.
Die Funktion muss im Rahmen des aktuellen Objekts aufgerufen werden. Sie wurde eingerichtet zur Verwendung zusammen mit dem Formularereignis On Mouse Up, das für Felder oder Variablen vom Typ Bild verfügbar ist. Sie unterstützt im Code, wenn der Benutzer in ein Formularobjekt Bild geklickt hat, um etwas zu bewegen und diese Aktion durch ein externes Ereignis unterbrochen wird, wie z.B. ein Dialogfenster mit einer Meldung. In diesem Fall kann der interne Status des Objekts unendlich in Wartestellung bleiben, da er auf ein Maus-Loslassen Ereignis wartet, das nie passiert. Für solche Zwischenfälle müssen Sie Ihren Code zum Bewegen der Maus in einer Funktion Is waiting mouse up schützen, um sicher zu sein, dass die Aktion in einem gültigen Kontext ausgeführt wird.
Mit folgendem Code lässt sich das Nachverfolgen von Mausereignissen in einem Bildobjekt verwalten:
//Objektmethode des Bildobjekts
C_LONGINT(vLtracking) //Flag für Modus zum Nachverfolgen
Case of
:(Form event code=On Clicked)
If(Is waiting mouse up) //Die Maustaste wurde noch nicht losgelassen
vLtracking:=1 //Wir sind im Modus zum Nachverfolgen
//... Hier Code zum Start für Nachverfolgung schreiben
End if
:(Form event code=On Mouse Move)
If(vLtracking=1) //Wir sind im Modus zum Nachverfolgen
If(Not(Is waiting mouse up)) //Wir werden nie ein Maus-Loslassen haben
vLtracking:=0 //Modus zum Nachverfolgen stoppen
//... Hier Code zum Verwalten oder Abbrechen von Nachverfolgen der Benutzeraktion schreiben
Else //Das Objekt wartet noch auf ein Maus-Loslassen
//... Hier Code zum Nachverfolgen schreiben
End if
End if
:(Form event code=On Mouse Up) //Die Maustaste wurde losgelassen
//... Hier Code zum Abschließen der Nachverfolgung schreiben
vLtracking:=0 //Ende des Modus zum Nachverfolgen
End case
Produkt: 4D
Thema: Formularereignisse
Nummer:
1422
Erstellt: 4D v16
4D Programmiersprache ( 4D v20)
4D Programmiersprache ( 4D v20.1)
4D Programmiersprache ( 4D v20.2)
4D Programmiersprache ( 4D v20.3)
4D Programmiersprache ( 4D v20.4)
4D Programmiersprache ( 4D v20.5)
4D Programmiersprache ( 4D v20.6)