MFC的对话框程序
想在列表的第一列显示图标,看了网上的方法,以前也做过树型控件的类似功能,可不知怎么搞得,程序运行后,图标处显示的是一白方块
所采用代码如下:
m_ListComputer.InsertColumn(0,"Computer/User",LVCFMT_IMAGE|LVCFMT_LEFT,200);
         m_ImageList.Create(16,16,ILC_COLOR8|ILC_MASK,6,6);
m_ImageList.Add(AfxGetApp()->LoadIcon(IDI_ICON_COMPUTER));
m_ListComputer.SetImageList(&m_ImageList, LVSIL_SMALL);

         m_ListComputer.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | 
LVS_EX_CHECKBOXES | LVS_EX_SUBITEMIMAGES);声明下:网上关于这个问题基本都解释为:“先在头文件中加入声明:CImageList m_ImageList;这是必要的,如果在cpp的某个函数中加入由于生命期结束,CImageList自动释放,则效果是列表中看不到图标,只看到一个白方块。”但我就是在MyDlg.h中定义的ImageList啊!搞不明白了!大侠们帮帮忙!

解决方案 »

  1.   

    InsertColumn(0,"Computer/User",LVCFMT_IMAGE|LVCFMT_LEFT,200,图标索引号);
      

  2.   

    InsertColumn有这种形式?我试了,还是不行啊- -
      

  3.   

    把m_ListComputer.InsertColumn(0,"Computer/User",LVCFMT_IMAGE|LVCFMT_LEFT,200); 语句挪动到你上面代码的最后.
      

  4.   

    你的m_ListComputer的格式是Report的?
      

  5.   

    VC 6.0 列表是report,还是没搞定,大哥们帮帮忙啊!
    列表图片:实现资源管理器类似的效果,即第一列多个图标
      

  6.   

    Report没有办法用m_ImageList来关联图标索引和对应的项,如果你需要,需要自己重写CListCtrl类.
      

  7.   

    弄明白了,是我自己用的CListCtrlEx的问题,用自带的CListCtrl按1楼方法可以实现.结贴了!