BindGadgetEvent()
Syntax
BindGadgetEvent(#Gadget, @Callback() [, EventTyp])Beschreibung
Verknüpft ("bindet", englisch "bind") ein Gadget-Ereignis mit einem Callback. Dabei handelt es sich um eine zusätzliche Möglichkeit zur Verwaltung von Ereignissen (englisch "events") in PureBasic, welche problemlos mit den regulären WindowEvent() / WaitWindowEvent() Befehlen arbeitet. Es ermöglicht auch die Nutzung von Echtzeit-Ereignismeldungen (englisch "realtime event notifications"), da die Callback-Funktion aufgerufen werden kann, sobald das Ereignis auftritt (nützlich für ScrollBarGadget(), ScrollAreaGadget() etc.). Ein Gadget kann mittels UnbindGadgetEvent() losgelöst (englisch "unbinded") werden.
Parameter
#Gadget Das Gadget, mit dem das Ereignis verknüpft werden soll. @Callback() Die beim Auftreten des Ereignisses aufzurufende Callback-Prozedur. Diese muss wie folgt deklariert werden: Procedure EventHandler() ; Code EndProcedureDie regulären Funktionen wie EventGadget(), EventWindow(), EventMenu(), EventType() und EventData() sind innerhalb des Callbacks verfügbar, um weitere Informationen über das Ereignis zu erhalten.
Hinweis: WindowEvent() und WaitWindowEvent() sollten niemals von innerhalb eines Callbacks aufgerufen werden, oder das Programm könnte gesperrt ("locked") werden oder ein falsches Verhalten zeigen.EventTyp (optional) Der Ereignis-Typ, mit dem das Ereignis verknüpft werden soll. Für eine vollständige Liste der unterstützten Typen siehe EventType(). #PB_All kann verwendet werden, um das Ereignis mit jedem Typ zu verknüpfen.
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Beispiel
Procedure ButtonHandler() Debug "Button click event on gadget #" + EventGadget() EndProcedure OpenWindow(0, 100, 100, 200, 90, "Click test", #PB_Window_SystemMenu) ButtonGadget(0, 10, 10, 180, 30, "Click me") BindGadgetEvent(0, @ButtonHandler()) ButtonGadget(1, 10, 50, 180, 30, "Click me") BindGadgetEvent(1, @ButtonHandler()) Repeat Event = WaitWindowEvent() Until Event = #PB_Event_CloseWindow
Siehe auch
BindGadgetEvent(), BindMenuEvent(), UnbindEvent(), WindowEvent(), WaitWindowEvent()
Unterstützte OS
Alle