Verwenden von Bildlisten in Headersteuerelementen
Kopfzeilenelemente können ein Bild in einem Kopfzeilenelement anzeigen. Dieses Bild, das in einer zugeordneten Bildliste gespeichert ist, beträgt 16 x 16 Pixel und hat dieselben Merkmale wie die Symbolbilder, die in einem Listenansichtssteuerelement verwendet werden. Um dieses Verhalten erfolgreich zu implementieren, müssen Sie zuerst die Bildliste erstellen und initialisieren, die Liste dem Kopfzeilensteuerelement zuordnen und dann die Attribute des Kopfzeilenelements ändern, das das Bild anzeigt.
Das folgende Verfahren veranschaulicht die Details mithilfe eines Zeigers auf ein Kopfzeilensteuerelement (m_pHdrCtrl
) und einen Zeiger auf eine Bildliste (m_pHdrImages
).
So zeigen Sie ein Bild in einem Kopfzeilenelement an
Erstellen Sie eine neue Bildliste (oder verwenden Sie ein vorhandenes Bildlistenobjekt) mithilfe des CImageList-Konstruktors , wobei der resultierende Zeiger gespeichert wird.
Initialisieren Sie das neue Bildlistenobjekt durch Aufrufen von CImageList::Create. Der folgende Code ist ein Beispiel für diesen Aufruf.
m_ListImageList.Create(16, 16, ILC_COLOR, 2, 2);
Fügen Sie die Bilder für jedes Kopfzeilenelement hinzu. Der folgende Code fügt zwei vordefinierte Bilder hinzu.
m_ListImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON1)); m_ListImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON2));
Ordnen Sie die Bildliste dem Kopfzeilensteuerelement einem Aufruf von CHeaderCtrl::SetImageList zu.
Ändern Sie das Kopfzeilenelement, um ein Bild aus der zugeordneten Bildliste anzuzeigen. Im folgenden Beispiel wird das erste Bild aus
m_phdrImages
dem ersten Kopfzeilenelement zugewiesen.m_pHdrCtrl
HDITEM curItem = {0}; pHeaderCtrl->SetImageList(&m_ListImageList); curItem.mask = HDI_TEXT | HDI_FORMAT | HDI_WIDTH | HDI_IMAGE; curItem.pszText = _T("Column 1"); curItem.cxy = 100; curItem.iImage = 0; curItem.fmt = HDF_LEFT | HDF_STRING | HDF_IMAGE; pHeaderCtrl->InsertItem(0, &curItem);
Ausführliche Informationen zu den verwendeten Parameterwerten finden Sie im relevanten CHeaderCtrl.
Hinweis
Es ist möglich, mehrere Steuerelemente mit derselben Bildliste zu verwenden. In einem Standardmäßigen Listenansichtssteuerelement kann es z. B. eine Bildliste (von 16 x 16 Pixeln) geben, die sowohl von der kleinen Symbolansicht eines Listenansichtssteuerelements als auch von den Kopfzeilenelementen des Listenansichtssteuerelements verwendet wird.