Status Bar
klasa CStatusBar
|
|
-
-
Status Bar to odmiana Control
Bar przeznaczona zwykle do wyświetlania informacji (np.
opisu wybranej pozycji menu) lub wskaźników stanu aplikacji
(np. stanu klawisza CapsLock)
-
Składa się z paneli,
które w widoczny sposób są od siebie oddzielone
-
Od wersji 4.0 MFC Status Bars
są implementowane w oparciu o standardowe kontrolki Windows
przy pomocy klasy CStatusBar
[początek strony]
-
-
Daje większość
możliwości dostępnych dla Status Bar w
Windows
-
Standardowo w aplikacji MFC z
wykorzystaniem architektury dokument/widok
jest jeden Status Bar, automatycznie tworzony i
niszczony wraz z oknem nadrzędnym
aplikacji
-
Istnieją trzy sposoby
uaktualnienia informacji na obiekcie Status Bar:
-
wykorzystanie mechizmu MFC do
obsługi komunikatów i poleceń
- ponieważ panele Status Bar nie wysyłają
komunikatu WM_COMMAND, to nie można skorzystać
z pomocy ClassWizard i ręcznie trzeba dodać
wpis w mapie komunikatów łączący makrem ON_UPDATE_COMMAND_UI
funkcję obsługi z jednym panelem
- wszystkie ręczne wpisy do mapy komunikatów powinny być
umieszczane poza sekcją zarządzaną przez ClassWizard
-
wykorzystanie metody CStatusBar::SetWindowText
- w ten sposób można zmienić tylko tekst na
pierwszym panelu (z numerem 0)
-
wykorzystanie metody CStatusBar::SetPaneText
- można zmienić tekst dowolnego panela
-
Schemat tworzenia nowego Status
Bar
-
utworzyć obiekt klasy CStatusBar
(lub potomnej)
-
wywołać CStatusBar::Create
lub CStatusBar::CreateEx
-
przypisać identyfikatory
panelom przy użyciu funkcji CStatusBar::SetIndicators
-
Schemat dodawania panela do Status
Bar
-
zdefiniować identyfikator
dla panela
-
zdefiniować w zasobach
domyślny tekst dla panela (musi mieć identyfikator
panela)
-
dodać identyfikator do
tablicy zdefiniowanej w kodzie jako:
static UINT BASED_CODE indicators []
= { ... };
-
zalecanym sposobem zmiany
tekstu panela jest wywołanie metody CCmdUI::SetText
w funkcji obsługi uaktualnienia stanu (przypisanej makrem
ON_UPDATE_COMMAND_UI)
[początek strony]
[początek strony]
|