Dela via


Använda bildlistor med rubrikkontroller

Rubrikobjekt kan visa en bild i ett rubrikobjekt. Den här bilden, som lagras i en associerad bildlista, är 16 x 16 bildpunkter och har samma egenskaper som de ikonbilder som används i en listvykontroll. För att kunna implementera det här beteendet måste du först skapa och initiera bildlistan, associera listan med rubrikkontrollen och sedan ändra attributen för rubrikobjektet som ska visa bilden.

Följande procedur illustrerar informationen med hjälp av en pekare till en rubrikkontroll (m_pHdrCtrl) och en pekare till en bildlista (m_pHdrImages).

Så här visar du en bild i ett rubrikobjekt

  1. Skapa en ny bildlista (eller använd ett befintligt bildlistobjekt) med hjälp av konstruktorn CImageList och lagra den resulterande pekaren.

  2. Initiera det nya bildlistobjektet genom att anropa CImageList::Create. Följande kod är ett exempel på det här anropet.

    m_ListImageList.Create(16, 16, ILC_COLOR, 2, 2);
    
  3. Lägg till bilderna för varje rubrikobjekt. Följande kod lägger till två fördefinierade bilder.

    m_ListImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON1));
    m_ListImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON2));
    
  4. Associera bildlistan med rubrikkontrollen med ett anrop till CHeaderCtrl::SetImageList.

  5. Ändra rubrikobjektet för att visa en bild från den associerade bildlistan. I följande exempel tilldelas den första bilden, från m_phdrImages, till det första rubrikobjektet, 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);
    

Detaljerad information om de parametervärden som används finns i relevant CHeaderCtrl.

Anmärkning

Det går att ha flera kontroller med samma bildlista. I en standard listvykontroll kan det till exempel finnas en bildlista (med bilder på 16 x 16 bildpunkter) som används av både den lilla ikonvyn för en listvykontroll och rubrikobjekten i listvisningskontrollen.

Se även

Använda CHeaderCtrl