Udostępnij za pośrednictwem


Używanie list obrazów w formancie paska narzędzi

Domyślnie obrazy używane przez przyciski w kontrolce paska narzędzi są przechowywane jako pojedyncza mapa bitowa. Można jednak również przechowywać obrazy przycisków w zestawie list obrazów. Obiekt kontrolki paska narzędzi może używać maksymalnie trzech oddzielnych list obrazów:

  • Włączona lista obrazów zawiera obrazy dla przycisków paska narzędzi, które są obecnie włączone.

  • Wyłączona lista obrazów Zawiera obrazy dla przycisków paska narzędzi, które są obecnie wyłączone.

  • Wyróżniona lista obrazów zawiera obrazy przycisków paska narzędzi, które są obecnie wyróżnione. Ta lista obrazów jest używana tylko wtedy, gdy pasek narzędzi używa stylu TBSTYLE_FLAT.

Te listy obrazów są używane przez kontrolkę paska narzędzi podczas ich kojarzenia z obiektem CToolBarCtrl . To skojarzenie jest realizowane przez wykonywanie wywołań do CToolBarCtrl::SetImageList, SetDisabledImageList i SetHotImageList.

Domyślnie MFC używa CToolBar klasy do implementowania pasków narzędzi aplikacji MFC. Jednak funkcja składowa GetToolBarCtrl może służyć do pobierania obiektu osadzonego CToolBarCtrl . Następnie można wykonywać wywołania funkcji CToolBarCtrl składowych przy użyciu zwróconego obiektu.

W poniższym przykładzie pokazano tę technikę, przypisując do obiektu listę obrazów z włączoną obsługą (m_ToolBarImages) i wyłączoną CToolBarCtrl (m_ToolBarDisabledImagesm_ToolBarCtrl).

CWinApp* pApp = AfxGetApp();

m_ToolBarImages.Create(16, 16, ILC_COLOR, 4, 4);
m_ToolBarImages.Add(pApp->LoadIcon(IDI_BLK));
m_ToolBarImages.Add(pApp->LoadIcon(IDI_RED));
m_ToolBarImages.Add(pApp->LoadIcon(IDI_YELL));
m_ToolBarImages.Add(pApp->LoadIcon(IDI_WHI));

m_ToolBarDisabledImages.Create(16, 16, ILC_COLOR, 4, 4);
m_ToolBarDisabledImages.Add(pApp->LoadIcon(IDI_DIS_BLK));
m_ToolBarDisabledImages.Add(pApp->LoadIcon(IDI_DIS_RED));
m_ToolBarDisabledImages.Add(pApp->LoadIcon(IDI_DIS_YELL));
m_ToolBarDisabledImages.Add(pApp->LoadIcon(IDI_DIS_WHI));

m_ToolBarCtrl.SetImageList(&m_ToolBarImages);
m_ToolBarCtrl.SetDisabledImageList(&m_ToolBarDisabledImages);

Uwaga

Listy obrazów używane przez obiekt paska narzędzi muszą być obiektami trwałymi. Z tego powodu są to często składowe danych klasy MFC; w tym przykładzie główna klasa okien ramowych.

Po skojarzeniu list obrazów z obiektem CToolBarCtrl platforma automatycznie wyświetla odpowiedni obraz przycisku.

Zobacz też

Korzystanie z CToolBarCtrl
Kontrolki