Utilizzo di elenchi di immagini con controlli Header

Gli elementi di intestazione possono visualizzare un'immagine all'interno di un elemento di intestazione. Questa immagine, archiviata in un elenco di immagini associato, è di 16 x 16 pixel e presenta le stesse caratteristiche delle immagini icona usate in un controllo visualizzazione elenco. Per implementare correttamente questo comportamento, è prima necessario creare e inizializzare l'elenco di immagini, associare l'elenco al controllo intestazione e quindi modificare gli attributi dell'elemento di intestazione che visualizzerà l'immagine.

La procedura seguente illustra i dettagli, usando un puntatore a un controllo intestazione (m_pHdrCtrl) e un puntatore a un elenco di immagini (m_pHdrImages).

Per visualizzare un'immagine in un elemento di intestazione

  1. Creare un nuovo elenco di immagini (o usare un oggetto elenco di immagini esistente) usando il costruttore CImageList , archiviando il puntatore risultante.

  2. Inizializzare il nuovo oggetto elenco di immagini chiamando CImageList::Create. Il codice seguente è un esempio di questa chiamata.

    m_ListImageList.Create(16, 16, ILC_COLOR, 2, 2);
    
  3. Aggiungere le immagini per ogni elemento di intestazione. Il codice seguente aggiunge due immagini predefinite.

    m_ListImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON1));
    m_ListImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON2));
    
  4. Associare l'elenco di immagini al controllo intestazione con una chiamata a CHeaderCtrl::SetImageList.

  5. Modificare l'elemento di intestazione per visualizzare un'immagine dall'elenco di immagini associato. Nell'esempio seguente viene assegnata la prima immagine, da m_phdrImages, al primo elemento di intestazione, 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);
    

Per informazioni dettagliate sui valori dei parametri usati, vedere il CHeaderCtrl pertinente.

Nota

È possibile avere più controlli usando lo stesso elenco di immagini. Ad esempio, in un controllo visualizzazione elenco standard, potrebbe essere presente un elenco di immagini (di 16 x 16 pixel) usato sia dalla visualizzazione icona piccola di un controllo visualizzazione elenco che dagli elementi di intestazione del controllo visualizzazione elenco.

Vedi anche

Uso di CHeaderCtrl