SetWindowCallback()
Syntaxe
SetWindowCallback(@NomDeLaProcedure() [, #Fenetre])Description
Pour programmeurs expérimentés. Cette fonction est seulement disponible sous Microsoft Windows. Les évènements classiques devraient toujours être gérés avec les commandes WaitWindowEvent() ou WindowEvent(). Cette commande permet d'accéder directement à la callback utilisée par Windows pour gérer les évènements reçus par l'application. Cela permet d'avoir un contrôle total sur ces derniers. Attention, c'est relativement bas niveau pour du BASIC et peut interférer avec les évènements PureBasic si elle est incorrectement utilisée.
Le paramètre optionnel permet d'affecter la commande SetWindowCallback() seulement à la '#Fenetre' spécifiée.
Pour annuler une Callback (fonction de rappel) il suffit d'appeler SetWindowCallback(0 [, #Fenetre]).
La procédure qui servira de callback doit avoir 4 paramètres et se présente sous la forme suivante:Procedure MaProcedureCallback(WindowID, Message, wParam, lParam) Resultat = #PB_ProcessPureBasicEvents ; ; entrez votre code ici ; ProcedureReturn Resultat EndProcedureL'exemple qui suit montre comment tester quelques paramètres d'une fenêtre. (En utilisant les constantes de l' API Windows):Procedure WinCallback(hWnd, uMsg, wParam, lParam) ; Nous pouvons tester dans la callback les paramètres renseignés automatiquement par windows If uMsg = #WM_SIZE Select wParam Case #SIZE_MINIMIZED Debug "La fenêtre est minimisée" Case #SIZE_RESTORED Debug "La fenêtre est rétablie" Case #SIZE_MAXIMIZED Debug "La fenêtre est agrandie" EndSelect EndIf ProcedureReturn #PB_ProcessPureBasicEvents EndProcedure If OpenWindow(0, 0, 0, 200, 100, "Messages", #PB_Window_MinimizeGadget|#PB_Window_MaximizeGadget) SetWindowCallback(@WinCallback()) ; active la callback Repeat Select WaitWindowEvent() Case #PB_Event_CloseWindow End EndSelect ForEver EndIf
OS Supportés
Windows