Udostępnij za pośrednictwem


Używanie list obrazów z formantami nagłówka

Elementy nagłówka mają możliwość wyświetlania obrazu w elemencie nagłówka. Ten obraz, przechowywany na skojarzonej liście obrazów, ma 16 x 16 pikseli i ma takie same cechy jak obrazy ikon używane w kontrolce widoku listy. Aby zaimplementować to zachowanie pomyślnie, należy najpierw utworzyć i zainicjować listę obrazów, skojarzyć listę z kontrolką nagłówka, a następnie zmodyfikować atrybuty elementu nagłówka, który wyświetli obraz.

Poniższa procedura ilustruje szczegóły przy użyciu wskaźnika do kontrolki nagłówka (m_pHdrCtrl) i wskaźnika do listy obrazów (m_pHdrImages).

Aby wyświetlić obraz w elemencie nagłówka

  1. Utwórz nową listę obrazów (lub użyj istniejącego obiektu listy obrazów) przy użyciu konstruktora CImageList , przechowując wynikowy wskaźnik.

  2. Zainicjuj nowy obiekt listy obrazów, wywołując polecenie CImageList::Create. Poniższy kod jest jednym z przykładów tego wywołania.

    m_ListImageList.Create(16, 16, ILC_COLOR, 2, 2);
    
  3. Dodaj obrazy dla każdego elementu nagłówka. Poniższy kod dodaje dwa wstępnie zdefiniowane obrazy.

    m_ListImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON1));
    m_ListImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON2));
    
  4. Skojarz listę obrazów z kontrolką nagłówka z wywołaniem metody CHeaderCtrl::SetImageList.

  5. Zmodyfikuj element nagłówka, aby wyświetlić obraz ze skojarzonej listy obrazów. Poniższy przykład przypisuje pierwszy obraz z m_phdrImages, do pierwszego elementu nagłówka , 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);
    

Aby uzyskać szczegółowe informacje na temat używanych wartości parametrów, zapoznaj się z odpowiednim CHeaderCtrl.

Uwaga

Istnieje możliwość posiadania wielu kontrolek przy użyciu tej samej listy obrazów. Na przykład w standardowej kontrolce widoku listy może istnieć lista obrazów (16 x 16 pikseli) używana zarówno przez mały widok ikon kontrolki widoku listy, jak i elementy nagłówka kontrolki widoku listy.

Zobacz też

Korzystanie z CHeaderCtrl