Menu und PopupImageMenu via Tastaturkürzel
Verfasst: 03.03.2014 01:12
Nachdem ich nun lange herum probiert habe bin ich mir nicht sicher ob ich meinen Fehler nicht finde oder einen PB-Fehler bzw ein Grund für ein Feature-Request gefunden habe.
Wenn es im Code keinen Fehler gibt wäre ich auch für jede andere Hilfe dankbar.
Wenn es im Code keinen Fehler gibt wäre ich auch für jede andere Hilfe dankbar.
Code: Alles auswählen
If OpenWindow(0, 0, 0, 640, 480, "Menu und PopupImageMenu", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
If CreateMenu(0, WindowID(0))
MenuTitle("&Datei")
MenuItem(1, "&Neu")
MenuItem(2, "&Öffnen")
OpenSubMenu("&Test")
MenuItem(4, "&D")
MenuItem(5, "&N")
CloseSubMenu()
MenuTitle("&Bearbeiten")
MenuItem(7, "Ausschneiden")
MenuItem(8, "Kopieren")
MenuItem(9, "Einfügen")
Global SMnul = GetSubMenu_(MenuID(0), 0)
Global SMnu2 = GetSubMenu_(SMnul, 2)
Global SMnu3 = GetSubMenu_(MenuID(0), 1)
EndIf
If CreatePopupImageMenu(1, WindowID(0))
MenuTitle("&Datei")
MenuItem(11, "&Neu")
MenuItem(12, "&Öffnen")
OpenSubMenu("&Test")
MenuItem(14, "&D")
MenuItem(15, "&N")
CloseSubMenu()
MenuTitle("&Bearbeiten")
MenuItem(17, "Ausschneiden")
MenuItem(18, "Kopieren")
MenuItem(19, "Einfügen")
Global PSMnul = GetSubMenu_(MenuID(1), 0)
Global PSMnu2 = GetSubMenu_(PSMnul, 2)
Global PSMnu3 = GetSubMenu_(MenuID(1), 1)
EndIf
If CreateStatusBar(0, WindowID(0))
AddStatusBarField(WindowWidth(0))
EndIf
EndIf
RegisterHotKey_(WindowID(0), 1, #Null, #VK_OEM_5) ; ^
InitKeyboard()
Repeat
EventID = WaitWindowEvent()
Select EventID
Case #WM_HOTKEY
If EventwParam() = 1 : DisplayPopupMenu(1, WindowID(0)) : EndIf
Case #PB_Event_CloseWindow
UnregisterHotKey_(WindowID(0), 1)
End
Case #PB_Event_Menu
;Debug Str(EventMenu())
Select EventMenu()
Case 1: StatusBarText(0, 0, "- Neu") ; <------------------ lässt sich via Tastaturkürzel auswählen
Case 5: StatusBarText(0, 0, "- N") ; <------------------ lässt sich via Tastaturkürzel auswählen
Case 11: StatusBarText(0, 0, "- Neu -"); <------------------ lässt sich via Tastaturkürzel auswählen
Case 15 : StatusBarText(0, 0, "- N -") ; <------------------ lässt sich NICHT via Tastaturkürzel auswählen
Default : StatusBarText(0, 0, "")
EndSelect
EndSelect
ForEver