CListCtrl::SetImageList
CImageList* SetImageList( CImageList* pImageList, int nImageList );Return ValueA pointer to the previous image list.ParameterspImageListPointer to the image list to assign.nImageListType of image list. It can be one of these values: LVSIL_STATE   Image list with state images. 
ResAssigns an image list to a list view control.

解决方案 »

  1.   

    m_list.Create(16,16,TRUE,2,1);
    m_list.Add(m_pApp->LoadIcon(IDI_ONE));
    m_list.Add(m_pApp->LoadIcon(IDI_TWO));
    listctrl.SetImageList(&m_list,LVSIL_SMALL);
      

  2.   

    我用如下代码设置但没有图标显示,只有一个白色的空位置这是什么原因?
    ImageList.Create(IDB_CHECK,16,1,RGB(255,0,0));
    m_listctrl.SetImageList(&ImageList,LVSIL_STATE);
    m_listctrl.InsertItem(
          LVIF_TEXT|LVIF_STATE, 1, "SDFDSGDFGH", 
          LVIS_SELECTED , LVIS_SELECTED,
          0, 0);
      

  3.   

    IDB_CHECK是指向Bitmap的ID啊,不用AddImage吧!
    我将
    ImageList.Create(IDB_CHECK,16,1,RGB(255,0,0));
    m_listctrl.SetImageList(&ImageList,LVSIL_STATE);
    m_listctrl.InsertItem(
          LVIF_TEXT|LVIF_STATE, 1, "SDFDSGDFGH", 
          LVIS_SELECTED , LVIS_SELECTED,
          0, 0);
    改写为
    ImageList.Create(IDB_CHECK,16,1,RGB(255,0,0));
    m_listctrl.SetImageList(&ImageList,LVSIL_SMALL);
    m_listctrl.InsertItem(
          LVIF_TEXT|LVIF_STATE, 1, "SDFDSGDFGH", 
          LVIS_SELECTED , LVIS_SELECTED,
          0, 0);
    它就能正常显示图标啊(即LVSIL_STATE改为LVSIL_SMALL 它能够正常显示图标)
      

  4.   

    State和Normal是两个图标
    m_listctrl.SetImageList(&ImageList,LVSIL_SMALL);
    m_listctrl.SetImageList(&ImageList,LVSIL_STATE);
      

  5.   

    m_listctrl.SetImageList(&ImageList,LVSIL_SMALL);
    m_listctrl.SetImageList(&ImageList,LVSIL_STATE);
    这样做只能显示一个图标,前面有一个位置是空的!
      

  6.   

    state image的序号从1开始。