CreatePopupMenu()

Syntax

Ergebnis = CreatePopupMenu(#Menu)
Beschreibung
Erstellt ein neues leeres Popup-Menü. Wenn #PB_Any als '#Menu' Parameter verwendet wird, dann wird der Identifier des neuen Menüs als 'Ergebnis' zurückgegeben. Konnte das Menü nicht erstellt werden, wird als 'Ergebnis' 0 zurückgegeben.

Es wird somit das aktuelle Menü zum Einfügen weiterer Einträge. Damit ist es nun möglich, Befehle wie MenuItem(), MenuBar(), OpenSubMenu() etc. zu benutzen.

DisplayPopupMenu() kann benutzt werden, um dieses Popup-Menü an einer beliebigen Position auf dem Bildschirm darzustellen.

Um alle Menü-Ereignisse korrekt zu handhaben, sehen Sie in die Beschreibung der folgenden Befehle:
WaitWindowEvent() (alternativ WindowEvent())
EventWindowID()
EventMenuID()

Beispiel:
  If OpenWindow(0, 200, 200, 200, 120, #PB_Window_SystemMenu, "Popup-Menu Example")
    If CreatePopupMenu(0)      ; hier beginnt das Erstellen des Popup-Menüs...
      MenuTitle("Project")     ; Sie können alle Befehle zum Erstellen eines Menüs
        MenuItem(1, "Open")    ; verwenden, ganz wie bei einem normalen Menü...
        MenuItem(2, "Save")
        MenuItem(3, "Save as")
        MenuItem(4, "Quit")
        MenuBar()
        OpenSubMenu("Recent files")
          MenuItem(5, "PureBasic.exe")
          MenuItem(6, "Test.txt")
        CloseSubMenu()
      MenuTitle("Edit")
      MenuTitle("Options")
    EndIf
    Repeat
      Select WaitWindowEvent()     ; überprüfe Window-Ereignisse
        Case #WM_RButtonDown       ; rechte Maustaste wurde gedrückt =>
          DisplayPopupMenu(0,WindowID())  ; stelle jetzt das Popup-Menü dar
        Case #PB_Event_Menu        ; ein Eintrag des Popup-Menüs wurde angeklickt
          Select EventMenuID()     ; ermittle den angeklickten Menü-Eintrag...
            Case 1 : Debug "Menu: Open"
            Case 2 : Debug "Menu: Save"
            Case 3 : Debug "Menu: Save as"
            Case 4 : Quit = 1
            Case 5 : Debug "Menu: PureBasic.exe"
            Case 6 : Debug "Menu: Text.txt"
          EndSelect
        Case #PB_Event_CloseWindow
          Quit = 1
      EndSelect
    Until Quit = 1
  EndIf

Unterstützte OS

All

<- CreateMenu() - Menu Inhaltsverzeichnis - DisableMenuItem() ->