Použití seznamů obrázků v ovládacím prvku panel nástrojů
Ve výchozím nastavení se obrázky používané tlačítky v ovládacím prvku panelu nástrojů ukládají jako jeden rastrový obrázek. Obrázky tlačítek ale můžete uložit také do sady seznamů obrázků. Řídicí objekt panelu nástrojů může používat až tři samostatné seznamy obrázků:
Seznam povolených obrázků obsahuje obrázky pro tlačítka panelu nástrojů, která jsou aktuálně povolená.
Seznam zakázaných obrázků obsahuje obrázky pro tlačítka panelu nástrojů, která jsou aktuálně zakázaná.
Zvýrazněný seznam obrázků Obsahuje obrázky pro tlačítka panelu nástrojů, která jsou aktuálně zvýrazněná. Tento seznam obrázků se používá pouze v případě, že panel nástrojů používá styl TBSTYLE_FLAT.
Tyto seznamy obrázků používají ovládací prvek panelu nástrojů, když je přidružíte k objektu CToolBarCtrl
. Toto přidružení se provádí voláním CToolBarCtrl::SetImageList, SetDisabledImageList a SetHotImageList.
Mfc ve výchozím nastavení používá CToolBar
třídu k implementaci panelů nástrojů aplikace MFC. GetToolBarCtrl
Členské funkce však lze použít k načtení vloženého CToolBarCtrl
objektu. Potom můžete volat CToolBarCtrl
členské funkce pomocí vráceného objektu.
Následující příklad ukazuje tuto techniku přiřazením povoleného () a zakázaného (m_ToolBarImages
m_ToolBarDisabledImages
) seznamu obrázků k objektu 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);
Poznámka
Seznamy obrázků používané objektem panelu nástrojů musí být trvalé objekty. Z tohoto důvodu jsou často datovými členy třídy MFC; v tomto příkladu třída okna hlavního rámce.
Jakmile jsou seznamy obrázků přidružené k objektu CToolBarCtrl
, architektura automaticky zobrazí správný obrázek tlačítka.