Использование списков изображений в элементе управления панели инструментов
По умолчанию изображения, используемые кнопки в элементе управления панели инструментов хранятся в виде единой растровое изображение. Однако можно также изображения кнопок магазина в наборе списков изображений. Объект элемента управления панели инструментов можно использовать до 3 отдельного списка изображений:
Enabled список изображений содержит изображения для кнопок панели инструментов, которые в данный момент недоступны.
Отключенный список изображений содержит изображения для кнопок панели инструментов, которые в данный момент запрещены.
Выбранный список изображений содержит изображения для кнопок панели инструментов, которые в данный момент выделены. Этот список изображений используется только при инструмент используется стиль TBSTYLE_FLAT.
Эти списки изображений используются элементом управления панели инструментов при связать их с объектом CToolBarCtrl. Эта ассоциация выполняется вызовом CToolBarCtrl::SetImageList, SetDisabledImageList и SetHotImageList.
По умолчанию MFC использует класс CToolBar для реализации панели инструментов приложения MFC. Однако функции-члена GetToolBarCtrl можно использовать для получения встроенный объект CToolBarCtrl. Затем можно вызывать к функциям элемента CToolBarCtrl использование возвращаемый объект.
В следующем примере показан этот метод путем присвоения список изображений enabled (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 платформа автоматически отображается правильное изображение кнопки.