Menu mit Hilfe
Verfasst: 06.03.2007 18:26
Code: Alles auswählen
If OpenWindow(0, 0, 0, 640, 480, "Menu mit Hilfe", #PB_Window_SystemMenu|#PB_Window_ScreenCentered)
If CreateMenu(0, WindowID(0))
MenuTitle("Datei")
MenuItem(0, "Neu")
MenuItem(1, "Öffnen")
MenuItem(2, "Speichern")
MenuItem(3, "Schließen")
OpenSubMenu("Letzte Dateien")
MenuItem(0, "1" + Chr(9) + "-")
MenuItem(1, "2" + Chr(9) + "-")
CloseSubMenu()
MenuTitle("Bearbeiten")
MenuItem(0, "Ausschneiden")
MenuItem(1, "Kopieren")
MenuItem(2, "Einfügen")
EndIf
Global SMnul = GetSubMenu_(MenuID(0), 0) ;Menu Datei
Global SMnu2 = GetSubMenu_(SMnul, 4) ;SubMenu Letzte Dateien
Global SMnu3 = GetSubMenu_(MenuID(0), 1) ;Menu Bearbeiten
If CreateStatusBar(0, WindowID(0))
AddStatusBarField(WindowWidth(0))
EndIf
EndIf
Procedure WindowCallback(hWnd, Msg, wParam, lParam)
Protected Result.l = #PB_ProcessPureBasicEvents
If hWnd = WindowID(0)
If Msg = #WM_UNINITMENUPOPUP
StatusBarText(0, 0, "")
EndIf
If Msg = #WM_MENUSELECT
Select lParam
Case SMnul
Select wParam & $FFFF
Case 0: StatusBarText(0, 0, "Neu")
Case 1: StatusBarText(0, 0, "Öffnen")
Case 2: StatusBarText(0, 0, "Speichern")
Case 3: StatusBarText(0, 0, "Schließen")
Case 4: StatusBarText(0, 0, "Letzte Dateien")
EndSelect
Case SMnu2
Select wParam & $FFFF
Case 0: StatusBarText(0, 0, "Letzte Datei 1")
Case 1: StatusBarText(0, 0, "Letzte Datei 2")
EndSelect
Case SMnu3
Select wParam & $FFFF
Case 0: StatusBarText(0, 0, "Ausschneiden")
Case 1: StatusBarText(0, 0, "Kopieren")
Case 2: StatusBarText(0, 0, "Einfügen")
EndSelect
EndSelect
EndIf
EndIf
ProcedureReturn Result
EndProcedure
SetWindowCallback(@WindowCallback())
While WaitWindowEvent() <> #PB_Event_CloseWindow: Wend