我想给一个CListCtrl添加多个图标,但是我添加了两条SetImageList,可只能显示中的一个图标?请问如何才能实现?呵呵

解决方案 »

  1.   

    默认的图标有:
    项目图标 在大图标和小图标方式下显示的图标分别从设置的图像列表中读取,其他方式下显示小图标。
    状态图标 显示的地点随通用控件的版本和更个的设置而异。可能在项目图标的左上角或者右方。
    子项图标 只在报告方式,并且具有子项图标扩展风格的列表中显示,显示在列表单元格的左边的。第一列的子项图标就是项目图标。其它的显示方式
    自己计算图标的位置,然后自己再把图标画上去。推荐用于图片的缩略图。Command what is yours.
    Conquer what is not.
    -Kane
      

  2.   

    可能是我没说清楚,我是说,Report方式下最左边不是显示图标么?我打算让其显示不只一种图标。我尝试用SetImageList设置图标,但是怎么也只能设置一种图标,不知道有没有方法可以设置多种图标?谢谢
      

  3.   

    CListCtrl只能设置一个CImageList如果你的图标在不同的CImageList中,你需要把他们合并到同一个CImageList中
      

  4.   

    m_ImageList.Create(16,16,FALSE, 3, 0);//建立图像列表
             hIcon = ::LoadIcon(AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_ICON1));//HICON hIcon;
             m_ImageList.Add(hIcon);//增加图标
             hIcon = ::LoadIcon(AfxGetResourceHandle(), MAKEINTRESOURCE(IDI_ICON2));
             m_ImageList.Add(hIcon);
    m_list1.SetImageList(&m_ImageList, LVSIL_SMALL);//CImageList m_ImageList;
    关联列表与图像
    m_list1.InsertItem(i, "", i);//第i项图标为m_ImageList变量中第i个图标