BindMenuEvent()

Syntaxe

BindMenuEvent(#Menu, Element, @Callback())
Description
Ajoute un événement du menu grâce à une procédure dite de 'callback'.

Arguments

#Menu Le menu à utiliser.
Element L'élément de menu.
@Callback() La procédure à appeler lorsque l'événement se produit. Elle doit être déclarée comme ceci:
  Procedure EventHandler()
    ; Du code ici...
  EndProcedure
Les fonction de PureBasic comme 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é.

Valeur de retour

Aucune.

Remarques

C'est un moyen supplémentaire pour gérer les événements dans PureBasic, qui fonctionne sans problème avec les habituelles commandes WindowEvent() et WaitWindowEvent().
Cet évènement peut être supprimé avec UnbindMenuEvent().

Exemple

  Procedure TestHandler()
    Debug "Evènement : Menu -Test-"
  EndProcedure
  
  Procedure QuitHandler()
    Debug "Evènement : Menu -Quitter-"
    End
  EndProcedure
  
  OpenWindow(0, 100, 100, 200, 50, "Test Clic", #PB_Window_SystemMenu)
  
  CreateMenu(0, WindowID(0))
    MenuTitle("Fichier")
      MenuItem(0, "Test")
      MenuItem(1, "Quitter")
  
  BindMenuEvent(0, 0, @TestHandler())
  BindMenuEvent(0, 1, @QuitHandler())
  
  Repeat
    Event = WaitWindowEvent()
  Until Event = #PB_Event_CloseWindow

Voir aussi

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

OS Supportés

Tous

Menu Index - CloseSubMenu() ->