对标题控件使用图像列表

标题项能够显示在标题项中的图像。 此图像中,关联图像列表中,是 16 x 16 像素并且具有与在列表视图的图标图像控件的特性。 若要成功实现此行为,则必须首先建立和初始化图像列表,关联列表与标题控件,然后修改要显示图像标题项的特性。

下面的过程演示详细信息,使用指针对标题控件 (m_pHdrCtrl)、指向图像列表 (m_pHdrImages)。

显示在标题项的图像

  1. 构造新的图像列表 (或者使用现有的图像列表对象)。CImageList 构造函数,即,存储提供的指针。

  2. 通过调用 CImageList::Create初始化新图像列表对象。 以下代码是此调用的一个示例。

    m_ListImageList.Create(16, 16, ILC_COLOR, 2, 2);
    
  3. 添加每个页眉项的图像。 下面的代码将两个预定义的图像。

    m_ListImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON1));
    m_ListImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON2));
    
  4. 将图像列表与调用的标题控件为 CHeaderCtrl::SetImageList

  5. 修改标题项演示从关联的图像列表里的图像。 下面的示例将第一个图像,从 m_phdrImages,指向第一个标题项,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);
    

关于使用的参数值的详细信息,请参考 CHeaderCtrl相关。

备注

具有多个使用相同的控件图像的列表,也是可能的。例如,在一标准列表视图控件,可能有两个 (16 x 16 像素位图) 所使用图像列表视图控件的小图标视图,并且列表视图的标题项控件。

请参见

参考

使用 CHeaderCtrl