Condividi tramite


Uso di elenchi di immagini con controlli di intestazione

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 di intestazione (m_pHdrCtrl) e un puntatore a una lista 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 header. 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.

Annotazioni

È 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.

Vedere anche

Uso di CHeaderCtrl