Partager via


Utilisation des listes d'images avec les contrôles header

Les éléments d'en-tête ont la capacité d'afficher une image dans un élément d'en-tête.Cette image, stockée dans une liste d'images associée, est 16 x 16 pixels et possède les mêmes caractéristiques que les images d'icône utilisées dans un contrôle liste view.Pour implémenter ce comportement avec succès, vous devez d'abord créer et initialiser la liste d'images, associez la liste avec le contrôle header, puis modifiez les attributs de l'élément d'en-tête qui affichera l'image.

La procédure suivante indique les détails, à l'aide d'un pointeur vers un contrôle header (m_pHdrCtrl) et un pointeur vers une liste d'images (m_pHdrImages).

Pour afficher une image dans un élément d'en-tête

  1. Construit une nouvelle liste d'images (ou utilisez un objet liste d'images existant) à l'aide de le constructeur de CImageList , en enregistrant le pointeur résultant.

  2. Initialisez le nouvel objet liste d'images en appelant CImageList::Create.Le code suivant est un exemple de cet appel.

    m_ListImageList.Create(16, 16, ILC_COLOR, 2, 2);
    
  3. Ajoutez des images pour chaque élément d'en-tête.Le code suivant ajoute deux images intégrées.

    m_ListImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON1));
    m_ListImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON2));
    
  4. Associez la liste d'images avec le contrôle header avec un appel à CHeaderCtrl::SetImageList.

  5. Modifiez l'élément d'en-tête pour afficher une image dans la liste d'images associée.l'exemple suivant assigne la première image, d' m_phdrImages, au premier élément d'en-tête, 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);
    

Pour plus d'informations sur les valeurs des paramètres utilisées, consultez CHeaderCtrlpertinent.

[!REMARQUE]

Il est possible que plusieurs contrôles à l'aide de la même liste d'images.Par exemple, dans un contrôle liste view standard, il est possible qu'une liste d'images (d'images 16 x 16 pixels) utilisée par les deux la vue d'une petite icône d'un contrôle liste view et des éléments d'en-tête du contrôle liste view.

Voir aussi

Référence

Utilisation CHeaderCtrl