Hilfe
Parameter
timeout |
Zeit in Millisekunden, für die ein Programm maximal angehalten werden soll.
Standard ist -1 (=unbegrenzt) |
Rückgabewert
liefert die ID des Events zurück (siehe Tabelle)
Beschreibung
Die Funktion WaitEvent wartet auf ein Event und liefert danach die Identität des Events zurück (Eventart). Mit dem Parameter "Timeout" kann man die maximale Zeit einstellen, die das Programm abwarten soll. Gebe -1 oder lass den Parameter weg, dann wartet das Programm unbegrenzt (oder bis ein Event eintritt). Sollte die Zeit ablaufen und kein Event eintreten, dann wird 0 zurückgeliefert. Nach einem Event können weitere Daten mit EventData, EventID, EventSource, EventX oder EventY ermittelt werden.
Zusatzinformation
Hier ist eine Übersicht der Events in BlitzPlus:
Bezeichnung | ID | Data | Source | X/Y/Z |
---|---|---|---|---|
KeyDown | $101 | Scancode | - | - |
KeyUp | $102 | Scancode | - | - |
KeyStoke | $103 | ASCII-Code | - | - |
MouseDown | $201 | Maustaste | Gadget-Handle | - |
MouseUp | $202 | Maustaste | Gadget-Handle | - |
MouseMove | $203 | - | Canvas-Handle | Mauskoordinaten |
MouseWheel | $204 | Drehung | - | - |
MouseEnter | $205 | - | Canvas-Handle | Mauskoordinaten |
MouseLeave | $206 | - | Canvas-Handle | - |
GadgetAction | $401 | Eingabe | Gadget-Handle | - |
WindowMove | $801 | - | Window-Handle | Fensterkoordinaten |
WindowSize | $802 | - | Window-Handle | Fenstergröße |
WindowClose | $803 | - | Window-Handle | - |
WindowActivate | $804 | - | Window-Handle | - |
MenuEvent | $1001 | Menunummer | - | - |
AppSuspend | $2001 | - | - | - |
AppResume | $2002 | - | - | - |
AppBeginModal | $2004 | - | - | - |
AppEndModal | $2005 | - | - | - |
TimerTick | $4001 | Ticks | Timer-Handle | - |
Beispiel
Standardbeispiel:
window = CreateWindow("Fenster", 20, 20, 640, 300, 0, 7)
canvas1 = CreateCanvas(0, 0, 30, 30, window)
canvas2 = CreateCanvas(0, 50, 30, 30, window)
button = CreateButton("Test", 50, 0, 30, 30, window)
esc = CreateButton("Ende", 50, 50, 30, 30, window)
CreateMenu("Test 1", 1, WindowMenu(window))
CreateMenu("Test 2", 2, WindowMenu(window))
UpdateWindowMenu window
Repeat
Select WaitEvent(3000)
Case $101
SetGadgetText(window, "Die Taste mit Scancode " + EventData() + " wurde gedrückt.")
Case $102
SetGadgetText(window, "Die Taste mit Scancode " + EventData() + " wurde losgelassen.")
Case $103
SetGadgetText(window, "Die Taste mit Scancode " + EventData() + " ist gedrückt.")
Case $201
SetGadgetText(window, "Die Maustaste mit Code " + EventData() + " wurde auf der Canvasfläche " + EventSource() + " gedrückt.")
Case $202
SetGadgetText(window, "Die Maustaste mit Code " + EventData() + " wurde auf der Canvasfläche " + EventSource() + " losgelassen.")
Case $203
SetGadgetText(window, "Die Maus (" + EventX() + "," + EventY() + ") wurde über die Canvasfläche " + EventSource() + " bewegt.")
Case $204
SetGadgetText(window, "Das Mausrad wurde um " + EventData() + " 'clicks' bewegt.")
Case $401
If EventSource() = esc Then End
SetGadgetText(window, "Das Gadget " + EventSource() + " wurde verändert.")
Case $801
SetGadgetText(window, "Das Fenster " + EventSource() + " wurde bewegt. (" + EventX() + "," + EventY() + ")")
Case $802
SetGadgetText(window, "Das Fenster " + EventSource() + " wurde in der Grösse verändert. (" + EventX() + "," + EventY() + ")")
Case $803
SetGadgetText(window, "Beim Fenster " + EventSource() + " wurde auf das Schliessen-Symbol geklickt.")
Case $804
SetGadgetText(window, "Das Fenster " + EventSource() + " wurde aktiviert.")
Case $1001
SetGadgetText(window, "Das Menü " + EventData() + " wurde gewählt.")
Case $2001
SetGadgetText(window, "Es wurde zu einer anderen Anwendung gewechselt.")
Case $2002
SetGadgetText(window, "Die Anwendung wurde wieder angewählt.")
Case $4001
Default
SetGadgetText(window, "Nix passiert, das ich kennen würde.")
End Select
Forever
Siehe auch
EventData, EventID, EventSource, EventX, EventY, EventZ, FlushEvents, HotKeyEvent, PeekEvent