Teil 3: Die Auswertung der Menüereignisse
|
|
IfOpenWindow(0,200,200,250,250,#PB_Window_SystemMenu,"Menü und Toolbar") If CreateGadgetList(WindowID()) TextGadget(1,20,60,210,20,"",#PB_Text_Center|#PB_Text_Border) ButtonGadget(2,50,100,150,20,"Programm Ende") EndIf If CreateMenu(0, WindowID()) MenuTitle("Datei") MenuItem( 1, "Neu") MenuItem( 2, "Laden") MenuBar() MenuItem( 3, "Speichern") MenuTitle("Drucken") MenuItem(4,"Drucken") MenuTitle("Ende") MenuItem(5, "Ende") EndIf Repeat EventID = WaitWindowEvent() If EventID = #PB_Event_CloseWindow Quit = 1 EndIfIf EventID = #PB_EventMenu If EventMenuID()=1 SetGadgetText(1,"Neu") EndIf If EventMenuID()=2 SetGadgetText(1,"Laden") EndIf If EventMenuID()=3 SetGadgetText(1,"Speichern") EndIf If EventMenuID()=4 SetGadgetText(1,"Drucken") EndIf If EventMenuID()=5 MessageRequester("","Programmende!",0) End EndIf EndIf If EventID=#PB_EventGadget If EventGadgetID()=2 Quit=1 EndIf EndIf Until Quit=1 EndIf End |
|
EventID=#PB_EventMenu
Das Prinzip ist dasselbe wie bei der GadgetAbfrage. In EventID steht ein Wert, der die aktuelle Aktion im Fenster beschreibt. Entspricht dieser Wert der Konstanten #PB_EventMenu, so liegt ein Ereignis in der Menüzeile vor. In EventMenuID() steht nun, welches Menü gedrückt wurde und man kann das zugehörige Ereignis hinzufügen. In unserem Falle setzen wir für jeden Menüpunkt einen Text in unser TextGadget, im letzten Falle (Menü-Punkt Ende) wird das Programm einfach nach Einblenden eines MessageRequesters beendet. |
|
|
|
Das Resultat nach Betätigen des Datei-Menüs:
|