ToolBar
klasa CToolBar
|
|
-
-
ToolBar to odmiana Control
Bar, na której najczęściej umieszczane są następujące
obiekty:
-
przyciski (pushbuttons)
-
pola zaznaczeń (checkboxes)
- zwykle reprezentowane w postaci zwykłych przycisków,
które mogą być w jednym z dwóch stanów: normalnym
albo wciśniętym
-
pola wyboru (radio buttons)
- zwykle reprezentowane w postaci grupy zwykłych
przycisków, w której włączenie jednego przycisku
automatycznie wyłącza pozostałe
-
separatory oddzielające od
siebie grupy obiektów
-
ToolBar daje funkcjonalność
analogiczną do menu - przyciski jako polecenia menu z możliwością
ustawienia jako niedostępnych lub włączonych
-
w aplikacjach MFC przyciski mają
najczęściej identyfikatory takie same, jak
odpowiadające im pozycje menu, daje to możliwość
zarządzania przyciskiem i pozycją menu (np. zmiana
stanu) w jednym miejscu kodu programu
-
W MFC 6.0 nie ma wbudowanej obsługi
customizeable ToolBars, czyli możliwości
definiowania przez użytkownika własnych ToolBars
lub zmiany ich poleceń
-
Od wersji 4.0 MFC ToolBars są
implementowane w oparciu o standardowe kontrolki Windows przy
pomocy klasy CToolBar
[początek strony]
-
-
Daje większość możliwości
dostępnych dla ToolBar w Windows
-
Istnieją dwa sposoby tworzenia ToolBar
-
przy pomocy edytora zasobów:
- utworzyć zasób ToolBar
- w kodzie utworzyć obiekt klasy CToolBar
(lub potomnej)
- wywołać metodę CToolBar::Create
lub CToolBar::CreateEx
- załadować ToolBar z zasobów przy
pomocy metody CToolBar::LoadToolbar
-
bez pomocy edytora zasobów:
- utworzyć obiekt klasy CToolBar
(lub potomnej)
- wywołać CToolBar::Create lub CToolBar::CreateEx
- wywołac CToolBar::LoadBitmap dla bitmapy
zawierającej obrazki przycisków
- przypisać przyciskom identyfikatory przy pomocy metody CToolBar::SetButtons
(specjalny identyfikator ID_SEPARATOR oznacza brak
przycisku)
Przyciski obiektu ToolBar
-
rozmiary wszystkich przycisków
muszą być równe
- domyślny rozmiar przycisków: 24x22
- domyślny rozmiar bitmap przycisków: 16x15
-
każdy przycisk ma tylko
jedną bitmapę (dla stanu normalnego przycisku),
pozostałe (dla wcisniętego, niedostępnego) są
generowane automatycznie
-
możliwości zmian dla
pojedynczych przycisków:
- zmiana identyfikatora, stylu i numeru bitmapy: CToolBar::SetButtonInfo
- zmiana stylu: CToolBar::SetButtonStyle
- zmiana tekstu: CToolBar::SetButtonText
-
obiekt klasy CToolBar
korzysta z zasobu RT_TOOLBAR, który jest jedną
bitmapą zawierającą ułożone obok
siebie obrazki poszczególnych przycisków
- edytor zasobów Developers Studio bardzo ułatwia
posługiwanie się tym zasobem
-
zalecane jest stosowanie zmian
stanu przycisków przy pomocy mechanizmu MFC służącego
do obsługi komunikatów
i poleceń (z wykorzystaniem
makra ON_UPDATE_COMMAND_UI)
- najprościej jest korzystać z ClassWizard, który
daje możliwość prostego dodawania funkcji obsługi
poleceń menu i przycisków ToolBar oraz zmiany ich
stanu
Możliwe jest automatyczne
obsługiwanie ToolTips, czyli małych okien z
informacjami dla użytkownika o poszczególnych przyciskach:
-
podczas tworzenia ToolBar
dodać styl CBRS_TOOLTIPS (standardowo jest
dodawany)
-
do ciągu znaków o
identyfikatorze przycisku dodać tekst informacji, która
ma się pojawiać w ToolTip, poprzedzony
znakiem '\n'
[początek strony]
[początek strony]
|