Teil 4: Einschub... Ausgabe in einer Statuszeile

 

 

    If OpenWindow(0,200,200,250,250,"Menü und Statusbar",#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 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
 

Pure Basic erlaubt das einfache Anlegen einer Status-Zeile. Hierfür benötigen wir den Befehl:

CreateStatusBar

Die Parameter: Nummer der Statuszeile, an der sie identifiziert werden kann und die aktuelle Nummer des Fensters in das diese Statuszeile angelegt werden soll.

Es folgt der Befehl: AddStatusBarField mit dem Parameter: Breite in Pixel des Feldes, in unserem Fall die komplette Breite des Fensters.

StatusbarText

Dieser Befehl wird benötigt, um Text in die Status-Zeile einzufügen. In unserem Programm soll neben der Ausgabe des Menüereignisses in ein TextGadget nun auch eine Ausgabe in die Statuszeile folgen. Deshalb setzen wir nach dem SetgadgetText-Befehl den Befehl StatusbarText mit den Parametern: Statusbar Nummer, Feldnummer (wird benötigt, wenn mehrere Felder in der Statuszeile angelegt wurden, bei uns also 0, da wir nur ein Feld angelegt haben), der auszugebende Text und zuletzt ein Parameter, der das Aussehen der Textausgabe definiert. In unserem Fall soll die Ausgabe zentriert erfolgen.

 

Das Resultat nach Betätigen des Datei-Menüs:

WEITER