Teil 5: Toolbar
|
|
If OpenWindow(0,200,200,250,250,"Menü und Toolbar",#PB_Window_SystemMenu) If CreateGadgetList(WindowID(0)) 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(0)) MenuTitle("Datei") MenuItem( 1, "Neu") MenuItem( 2, "Laden") MenuBar() MenuItem( 3, "Speichern") MenuTitle("Drucken") MenuItem(4,"Drucken") MenuTitle("Ende") MenuItem(5, "Ende") EndIf If CreateToolBar(0, WindowID(0)) ToolBarStandardButton(1, #PB_ToolBarIcon_New) ToolBarStandardButton(2, #PB_ToolBarIcon_Open) ToolBarStandardButton(3, #PB_ToolBarIcon_Save) ToolBarSeparator() ToolBarStandardButton(4, #PB_ToolBarIcon_Print) EndIf If CreateStatusBar(0,WindowID(0)) AddStatusBarField(370) EndIf Repeat EventID = WaitWindowEvent() If EventID = #PB_Event_CloseWindow Quit = 1 EndIf If EventID = #PB_Event_Menu If EventMenu()=1 SetGadgetText(1,"Neu") StatusBarText(0,0,"Neu !",#PB_StatusBar_Center ) EndIf If EventMenu()=2 SetGadgetText(1,"Laden") StatusBarText(0,0,"Laden !",#PB_StatusBar_Center ) EndIf If EventMenu()=3 SetGadgetText(1,"Speichern") StatusBarText(0,0,"Speichern !",#PB_StatusBar_Center ) EndIf If EventMenu()=4 SetGadgetText(1,"Drucken") StatusBarText(0,0,"Drucken !",#PB_StatusBar_Center ) EndIf If EventMenu()=5 MessageRequester("","Programmende!",0) End EndIf EndIf If EventID=#PB_Event_Gadget If EventGadget()=2 Quit=1 EndIf EndIf Until Quit=1 EndIf End |
|
CreateToolbar
Genau wie bei einer Gadget-Liste oder der Menüdefinition, muss die Toolbar nach Öffnen des Fenster definiert werden. Als erstes teilen wir mit, dass ein Menü eingetragen werden soll (CreateToolbar), geben diesem Menü eine Identifizierungsnummer (0) und halten fest, dass diese Toolbar im aktuellen Fenster darzustellen ist (WindowID()). |
|
ToolBarStandardButton Mit diesem Befehl definieren wir ein Icon in der ToolBar. Die Parameter: Nummer, um das Icon bei einem Ereignis zu identifizieren und eine Konstante, die das zugehörige Icon beschreibt. Folgende Icons/Konstanten werden angeboten:
#PB_ToolBarIcon_New
Soll ein anderes - vielleicht selbsterstelltes - Icon verwendet werden, wird der Befehl ToolBarImageButton verwendet. Anstatt der Konstanten wird die ImageID des gewünschten Bilder eingetragen. Wer mit ImageID jetzt noch nichts anfangen kann, Image Tutorial ist in Vorbereitung. Der Befehl ToolBarSeperator setzt eine Trennlinie. Wer das Programm nun
startet, wird sich wundern, dass das Drücken von Icons schon ausgewertet
wird. Dies liegt daran, dass die Toolbar eigentlich ein erweitertes Menü
ist. Das heißt, da die Nummer des ersten Icons gleich der Nummer des ersten
Menüpunktes ist (und zwar 1), ist das Resultat der Ausgabe gleich. Soll dies
nicht so sein, muss dem Icon eine Nummer zugewiesen werden, die noch nicht
in der Menüdefinition gebraucht worden ist. Zum Abschluss: Sichtbar ist hoffentlich die ähnliche Struktur im Umgang mit Gadgets, Icons und Menüs geworden. Die Auswertung erfolgt immer im gleichen Schema: Identifizierung des Ereignisses über die zugehörige PB-Konstante (#PB_EventGadget, #PB_Event_Menu) und der jeweiligen Nummer des Schalter/Menüs/Icons. Das war es erst mal wieder.... |
|
|
|
Das Resultat nach Betätigen des Datei-Menüs:
|