BindMenuEvent()

Syntax

BindMenuEvent(#Menü, MenüEintrag, @Callback())
Beschreibung
Verknüpft ("bindet", englisch "bind") ein Menü-Ereignis mit einem Callback. Dabei handelt es sich um eine zusätzliche Möglichkeit zur Verwaltung von Ereignissen (englisch "events") in PureBasic, welche problemlos mit den regulären WindowEvent() / WaitWindowEvent() Befehlen arbeitet. Ein Menü-Ereignis kann mittels UnbindMenuEvent() losgelöst (englisch "unbound") werden.

Parameter

#Menü Das Menü, mit dem das Ereignis verknüpft werden soll.
MenüEintrag Der Menüeintrag innerhalb des Menüs, mit dem das Ereignis verknüpft werden soll.
@Callback() Die beim Auftreten des Ereignisses aufzurufende Callback-Prozedur. Diese muss wie folgt deklariert werden:
  Procedure EventHandler()
    ; Code
  EndProcedure
Die regulären Funktionen wie EventGadget(), EventWindow(), EventMenu(), EventType() und EventData() sind innerhalb des Callbacks verfügbar, um weitere Informationen über das Ereignis zu erhalten.

Hinweis: WindowEvent() und WaitWindowEvent() sollten nie aus einem Callback heraus aufgerufen werden. Dies kann das Programm blockieren oder falsches Verhalten hervorrufen.

Rückgabewert

Diese Funktion gibt keinen Wert zurück.

Beispiel

  Procedure TestHandler()
    Debug "Test menu event"
  EndProcedure
  
  Procedure QuitHandler()
    Debug "Quit menu event"
    End
  EndProcedure
  
  OpenWindow(0, 100, 100, 200, 50, "Click test", #PB_Window_SystemMenu)
  
  CreateMenu(0, WindowID(0))
    MenuTitle("File")
      MenuItem(0, "Test")
      MenuItem(1, "Quit")
  
  BindMenuEvent(0, 0, @TestHandler())
  BindMenuEvent(0, 1, @QuitHandler())
  
  Repeat
    Event = WaitWindowEvent()
  Until Event = #PB_Event_CloseWindow

Siehe auch

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

Unterstützte OS

Alle

Menu Inhaltsverzeichnis - CloseSubMenu() ->