Freigeben über


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.

Siehe auch

Verwenden von CToolBarCtrl
Steuerelemente