FOX GUI Library - Statusbar


Strona główna | Autor | Borland C++ 5.5 | GUI | Książki | OpenGL | Programy | Projekty | Teksty

Statusbar

Pasek statusu (ang. Statusbar) jest często wykorzystywanym elementem aplikacji. Biblioteka FOX posiada mechanizmy ułatwiające wyświetlanie komunikatów w pasku statusu. Prezentowany program statusbar.cpp wyjaśnia obsługę tych możliwości.

Obiekt klasy FXStatusbar tworzony jest konstruktorem

Statusbar = new FXStatusbar (this,LAYOUT_SIDE_BOTTOM|LAYOUT_FILL_X/*|STATUSBAR_WITH_DRAGCORNER*/);

gdzie this oznacza wskaźnik na okiekt klasy FXComposite, czyli w przykładzie obiekt klasy FXMainWindow. Następnie zostały podane parametry paska statusu tj. jego położenie na dole okna (LAYOUT_SIDE_BOTTOM) i wypełnianie całej jego szerokości (LAYOUT_FILL_X). Wykomentowany STATUSBAR_WITH_DRAGCORNER dotyczy pokazania uchwytu w prawym dolnym rogu okna do zmiany jego wymiarów. Pozostałe parametry konstruktora mają wartości domyślne i pozwalają na ustalenie położenia paska statusu oraz zmianę wysokości, długości paska i wielkości marginesów.

Standardowo statusbar wyświetla komunikaty pochodzące z kontrolek posiadających odpowiednio przygotowaną pomoc. Są to m.in. FXMenuCaption i FXLabel oraz oczywiście klasy dziedziczące po nich. W przypadku menu tekst wyświetlany w pasku statusu podaje się łącznie z nazwą przy tworzeniu obiektu:

new FXMenuCommand (FileMenu,"&New\t\tNew File",NULL,this,ID_NEW);

Porównując powyższe z opisem tworzenia menu, widać napis Nerw File dodany po sekwencji \t. Jest to właśnie tekst wyświetlany w wierszu statusu. Podobnie wygląda to przy tworzeniu obiektu klasy FXButton:

new FXButton(Statusbar,"\tAbout\tAbout",About,this,ID_ABOUT,LAYOUT_RIGHT);

gdzie najpierw jest napis na przycisku (w przykładzie jest on pusty), potem występuje dymek z pomocą a na końcu jest tekst wyświetlany w pasku statusu. Powyższe elementy oddzielone są, podobnie jak w klasie FXMenuCommand, sekwencją \t. Przy okazji widzimy w jaki sposób można umieścić przycisk w pasku statusu. Ze względów estetycznych przycisk ten nie zawiewra napisu - tylko ikonkę. W podobny sposób można dodać np. napis:

new FXLabel(Statusbar," Statusbar Example \t\tExample",NULL,LAYOUT_FILL_Y|LAYOUT_RIGHT|FRAME_SUNKEN);
bądź inną wizualną kontrolkę.

Okno programu wraz ze standardowym komunikatem wyświetlonym na pasku statusu przedstawia poniższy rysunek:

Statusbar

Klasa FXStatusbar posiada ponadto następujące metody:


Do pobrania


© Janusz Ganczarski
JanuszG@enter.net.pl