Verwenden von Bildlisten in einem Symbolleisten-Steuerelement
Standardmäßig werden die bilder, die von den Schaltflächen in einem Symbolleistensteuerelement verwendet werden, als einzelne Bitmap gespeichert. Sie können Schaltflächenbilder jedoch auch in einer Reihe von Bildlisten speichern. Das Symbolleisten-Steuerelementobjekt kann bis zu drei separate Bildlisten verwenden:
Aktivierte Bildliste Enthält Bilder für Symbolleistenschaltflächen, die derzeit aktiviert sind.
Deaktivierte Bildliste Enthält Bilder für Symbolleistenschaltflächen, die derzeit deaktiviert sind.
Hervorgehobene Bildliste Enthält Bilder für Symbolleistenschaltflächen, die derzeit hervorgehoben sind. Diese Bildliste wird nur verwendet, wenn die Symbolleiste die TBSTYLE_FLAT Formatvorlage verwendet.
Diese Bildlisten werden vom Symbolleistensteuerelement verwendet, wenn Sie sie dem CToolBarCtrl
Objekt zuordnen. Diese Zuordnung erfolgt durch Aufrufe von CToolBarCtrl::SetImageList, SetDisabledImageList und SetHotImageList.
Standardmäßig verwendet MFC die CToolBar
Klasse zum Implementieren von MFC-Anwendungssymbolleisten. Die Memberfunktion kann jedoch verwendet werden, GetToolBarCtrl
um das eingebettete CToolBarCtrl
Objekt abzurufen. Anschließend können Sie mithilfe des zurückgegebenen Objekts Aufrufe an CToolBarCtrl
Memberfunktionen durchführen.
Das folgende Beispiel veranschaulicht diese Technik durch Zuweisen einer aktivierten (m_ToolBarImages
) und deaktivierten (m_ToolBarDisabledImages
) Bildliste zu einem CToolBarCtrl
Objekt (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);
Hinweis
Die vom Symbolleistenobjekt verwendeten Bildlisten müssen permanente Objekte sein. Aus diesem Grund sind sie häufig Datenmber einer MFC-Klasse; in diesem Beispiel die Standard Framefensterklasse.
Sobald die Bildlisten dem CToolBarCtrl
Objekt zugeordnet sind, zeigt das Framework automatisch das richtige Schaltflächenbild an.