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