BindGadgetEvent()

Syntaxe

BindGadgetEvent(#Gadget, @Callback() [, TypeEvenement])
Description
Ajoute un évènement d'un gadget à la liste des évènements de la fenêtre.
Cet évènement est lié à la callback de la fenêtre.

Arguments

#Gadget Le gadget à utiliser.
@Callback() La procédure à appeler lorsque l'évènement se produit.

Elle doit être déclarée comme ceci:
  Procedure EventHandler()
    ; Code ici...
  EndProcedure
EventGadget(), EventWindow(), EventMenu(), EventType() et EventData() sont disponibles pour obtenir plus d'informations sur l'évènement.

Note: WindowEvent() et WaitWindowEvent() ne devraient jamais être appelées à l'intérieur du Callback(), car ça peut verrouiller un programme ou occasionner un comportement erroné.
TypeEvenement (optionnel) Le type d'évènement à ajouter.

- #PB_All peut être utilisé pour lier tous les types d'évènements.

- Pour une liste complète des types pris en charge, voir EventType().

Valeur de retour

Aucune.

Remarques

D'ordinaire, les évènements sont gérer avec les fonctions WindowEvent() et WaitWindowEvent(). Cette fonction ajoute un moyen supplémentaire de gestion des évènements avec PureBasic. Avec cependant un petit plus qu'est la possibilité de gérer les évènements en temps réel car la callback peut être invoquée dès que l'évènement se produit (utile pour ScrollBarGadget(), ScrollAreaGadget() etc.).

L'évènement ajouté peut être retiré avec UnbindGadgetEvent().

Exemple

  Procedure ButtonHandler()
    Debug "Clic sur le ButtonGadget #" + EventGadget()
  EndProcedure
  
  OpenWindow(0, 100, 100, 200, 90, "Test Clic", #PB_Window_SystemMenu)
  
  ButtonGadget(0, 10, 10, 180, 30, "Cliquez moi !") 
  BindGadgetEvent(0, @ButtonHandler())
  
  ButtonGadget(1, 10, 50, 180, 30, "Cliquez moi !")
  BindGadgetEvent(1, @ButtonHandler())

  Repeat
    Event = WaitWindowEvent()
  Until Event = #PB_Event_CloseWindow

Voir aussi

BindGadgetEvent(), BindMenuEvent(), UnbindEvent(), WindowEvent(), WaitWindowEvent()

OS Supportés

Tous

<- AddGadgetItem() - Gadget Index - ButtonGadget() ->