SetWindowCallback()
Syntax
SetWindowCallback(@ProcedureName() [, #Window])Beschreibung
Nur für erfahrene Programmierer. Diese Funktion wird nur auf Microsoft Windows unterstützt.
Normale Ereignisse (Events) sollten mit den regulären Befehlen WaitWindowEvent() oder WindowEvent() verarbeitet werden.
Dieser Befehl assoziiert einen Callback ("Rückruf"), um die Ereignisse aller offenen Fenster zu verarbeiten. Alle Ereignisse werden durch diesen Callback abgefangen und können hier verarbeitet werden. Um einen Callback nur für ein bestimmtes Fenster festzulegen, kann mit dem optionalen Parameter die PB Fensternummer '#Window' übergeben werden.
Zum Entfernen/Deaktivieren eines gesetzten Callbacks rufen Sie einfach SetWindowCallback(0 [, #Window]) auf.
Warnung: Dieser Weg ist "low-level". Falsche Handhabung der Nachrichten ("Messages") im Callback kann die PB-interne Nachrichten-Verarbeitung stören.
Parameter
@ProcedureName() Die zu verwendende Callback-Prozedur. Diese muss 4 Parameter haben. Hier ist ein Beispiel-Code, wie ein Callback richtig benutzt wird: Procedure MyWindowCallback(WindowID, Message, wParam, lParam) Result = #PB_ProcessPureBasicEvents ; ; Ihr Programmcode hier ; ProcedureReturn Result EndProcedureHier sehen Sie ein lauffähiges Beispiel, welches einige Fenster-Parameter überprüft (unter Verwendung von Windows API Konstanten):Procedure WinCallback(hWnd, uMsg, wParam, lParam) ; Windows füllt die Parameter automatisch, welche wir im Callback verwenden... If uMsg = #WM_SIZE Select wParam Case #SIZE_MINIMIZED Debug "Fenster wurde minimiert" Case #SIZE_RESTORED Debug "Fenster wurde wiederhergestellt" Case #SIZE_MAXIMIZED Debug "Fenster wurde maximiert" EndSelect EndIf ProcedureReturn #PB_ProcessPureBasicEvents EndProcedure If OpenWindow(0, 0, 0, 200, 100, "Messages", #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget) SetWindowCallback(@WinCallback()) ; Callback aktivieren Repeat Select WaitWindowEvent() Case #PB_Event_CloseWindow End EndSelect ForEver EndIf#Window (optional) Ein bestimmtes Fenster, dem der Callback zugewiesen werden soll. Sofern dieser Parameter weggelassen wird, wird der Callback für jedes Fenster aufgerufen.
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Unterstützte OS
Windows