Поделиться через


Использование списков изображений в элементе управления панели инструментов

По умолчанию изображения, используемые кнопками в элементе управления панелью инструментов, хранятся в виде одной растровой карты. Однако вы также можете хранить изображения кнопок в наборе списков изображений. Объект элемента управления панели инструментов может использовать до трех отдельных списков изображений:

  • Список включенных изображений содержит изображения для кнопок панели инструментов, которые сейчас включены.

  • Список отключенных изображений содержит изображения для кнопок панели инструментов, которые в настоящее время отключены.

  • Выделенный список изображений содержит изображения для кнопок панели инструментов, выделенных в данный момент. Этот список изображений используется только в том случае, если панель инструментов использует стиль ТБSTYLE_FLAT.

Эти списки изображений используются элементом управления панели инструментов при связывании CToolBarCtrl их с объектом. Эта связь осуществляется путем вызова CToolBarCtrl::SetImageList, SetDisabledImageList и SetHotImageList.

По умолчанию MFC использует CToolBar класс для реализации панелей инструментов приложений MFC. GetToolBarCtrl Однако функцию-член можно использовать для извлечения внедренного CToolBarCtrl объекта. Затем можно вызывать CToolBarCtrl функции-члены с помощью возвращаемого объекта.

В следующем примере демонстрируется этот метод, назначив включенный (m_ToolBarImages) и отключенныйm_ToolBarDisabledImages () список изображений объекту CToolBarCtrl (m_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);

Примечание.

Списки изображений, используемые объектом панели инструментов, должны быть постоянными объектами. По этой причине они обычно являются членами класса MFC; в этом примере класс главного окна фрейма.

После того как списки изображений связаны с CToolBarCtrl объектом, платформа автоматически отображает правильное изображение кнопки.

См. также

Использование CToolBarCtrl
Controls