WaitWindowEvent()
Syntaxe
Evenement = WaitWindowEvent([Minuteur])Description
Bloque l'exécution du programme jusqu'à ce qu'un évènement intervienne. Cette fonction est identique à WindowEvent(), mais le blocage de l'exécution est très important dans un environnement multi-tâches.
Une application devrait, si possible, toujours utiliser cette fonction en préférence à WindowEvent(). Pour plus d'informations sur les évènements supportés, voir WindowEvent().
Le paramètre optionnel 'Minuteur' permet de spécifier le temps maximal (en millisecondes) durant lequel la fonction sera bloquante si aucun évènement ne survient.
Notes: Quand une fenêtre est ouverte dans un thread, le thread doit appeler WindowEvent() ou WaitWindowEvent() dans une boucle pour gérer les évènements pour cette fenêtre, car les évènements des fenêtres sont propres à chaque thread.
WaitWindowEvent() ne peut être appelé qu'une seule fois par boucle d'évènements, sinon les évènements seront "perdus" (chaque événement ne peut être traité qu'une seule fois et n'est plus disponible pour un deuxième traitement).
Exemple:
If OpenWindow(0, 0, 0, 230, 90, "Exemple de gestion des évènements...", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) If CreateGadgetList(WindowID(0)) ButtonGadget (1, 10, 10, 200, 20, "Cliquez moi") CheckBoxGadget(2, 10, 40, 200, 20, "Cochez moi") EndIf If CreateMenu(0, WindowID(0)) MenuTitle("Menu") MenuItem(1, "Item 1") MenuItem(2, "Item 2") MenuItem(3, "Item 3") EndIf Repeat Event = WaitWindowEvent() Select Event Case #PB_Event_Gadget Select EventGadget() Case 1 : Debug "Bouton 1 cliqué!" Case 2 : Debug "Bouton 2 cliqué!" Case 3 : Debug "Bouton 3 cliqué!" EndSelect Case #PB_Event_Menu Select EventMenu() Case 1 : Debug "Menu item 1 cliqué!" Case 2 : Debug "Menu item 2 cliqué!" Case 3 : Debug "Menu item 3 cliqué!" EndSelect EndSelect Until Event = #PB_Event_CloseWindow EndIf
OS Supportés
Tous