Použití seznamů obrázků s ovládacími prvky záhlaví
Položky záhlaví mají možnost zobrazit obrázek v rámci položky záhlaví. Tento obrázek, uložený v přidruženém seznamu obrázků, je 16 × 16 pixelů a má stejné vlastnosti jako obrázky ikon použité v ovládacím prvku zobrazení seznamu. Chcete-li toto chování úspěšně implementovat, musíte nejprve vytvořit a inicializovat seznam obrázků, přidružit seznam k ovládacímu prvku záhlaví a potom upravit atributy položky záhlaví, která zobrazí obrázek.
Následující postup znázorňuje podrobnosti pomocí ukazatele na ovládací prvek záhlaví (m_pHdrCtrl
) a ukazatele na seznam obrázků (m_pHdrImages
).
Zobrazení obrázku v položce záhlaví
Vytvořte nový seznam obrázků (nebo použijte existující objekt seznamu obrázků) pomocí konstruktoru CImageList , který uloží výsledný ukazatel.
Inicializace nového objektu seznamu obrázků voláníM CImageList::Create. Jedním z příkladů tohoto volání je následující kód.
m_ListImageList.Create(16, 16, ILC_COLOR, 2, 2);
Přidejte obrázky pro každou položku záhlaví. Následující kód přidá dvě předdefinované image.
m_ListImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON1)); m_ListImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON2));
Přidružte seznam obrázků k ovládacímu prvku záhlaví s voláním CHeaderCtrl::SetImageList.
Upravte položku záhlaví tak, aby zobrazovala obrázek z přidruženého seznamu obrázků. Následující příklad přiřadí první obrázek z
m_phdrImages
, z , první záhlaví položka,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);
Podrobné informace o použitých hodnotách parametrů naleznete v příslušné CHeaderCtrl.
Poznámka
Pomocí stejného seznamu obrázků je možné mít více ovládacích prvků. Například ve standardním ovládacím prvku zobrazení seznamu může existovat seznam obrázků (16 x 16 pixelů) používaný malým zobrazením ikony ovládacího prvku zobrazení seznamu i položkami záhlaví ovládacího prvku zobrazení seznamu.