Verwenden von Bildlisten in einem Symbolleisten-Steuerelement
Standardmäßig werden die Bilder, die von der Schaltflächen in einem ToolBar-Steuerelement verwendet werden, als einzelne Bitmap gespeichert. Sie können jedoch Schaltflächenbilder in einem Satz Bildlisten auch speichern. Das Symbolleisten-Steuerelement-Objekt kann bis drei verschiedene Bildlisten verwenden:
Aktivierte Bildliste Bilder enthält für die Symbolleisten-Schaltflächen, derzeit aktiviert werden.
Deaktivierte Bildliste Bilder enthält für die Symbolleisten-Schaltflächen, gerade deaktiviert sind.
Die markierten Bildliste Bilder enthält für Symbolleistenschaltflächen, die derzeit die hervorgehoben werden. Diese Bildliste wird nur verwendet, wenn die Symbolleiste das TBSTYLE_FLAT Format verwendet.
Grafiklisten Diese werden vom ToolBar-Steuerelement verwendet, wenn Sie sie mit CToolBarCtrl-Objekt zuordnen. Diese Zuordnung wird vorgenommen, indem Aufrufe von CToolBarCtrl::SetImageList, zu SetDisabledImageList und zu SetHotImageList.
Standardmäßig verwendet MFC die CToolBar-Klasse, um MFC-Anwendungssymbolleisten zu implementieren. kann jedoch GetToolBarCtrl-Memberfunktion verwendet werden, um das CToolBarCtrl eingebettete Objekt abzurufen. Sie können Aufrufe CToolBarCtrl-Memberfunktionen mit dem zurückgegebenen Objekts ausführen.
Im folgenden Beispiel wird diese Technik veranschaulicht, indem mit aktivierten (m_ToolBarImages) und m_ToolBarDisabledImages(deaktivierte) Bildliste zu einem CToolBarCtrl-Objekt (m_ToolBarCtrl) zugewiesen wird.
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 Bildlisten, die vom Symbolleistenobjekt verwendet werden, müssen permanente Objekte sein.Aus diesem Grund sind sie häufig Datenmember eine MFC-Klasse; in diesem Beispiel die Hauptrahmenfensterklasse.
Sobald die Bildlisten mit CToolBarCtrl-Objekt verknüpft sind, zeigt das Framework automatisch das richtige Schaltflächensymbol an.