一个 ListCtrl,有一个列是放置图标的,我怎么显示其中的一行的图标列呢?

解决方案 »

  1.   

    1 为列表设置LVS_EX_SUBITEMIMAGES
    2 调用CListCtrl::SetItem设置每行每列的图标。如果不需要图标,可以把iImage和iSelectedImage设置为-2在初始化ListCtrl的时候加上以下代码
    m_List.SetExtendedStyle( GetExtendedStyle() | LVS_EX_SUBITEMIMAGES);
    m_List.SetImageList(&ImageList, LVSIL_SMALL);LVITEM item;
    item.iImage = i; // i为指定图标在ImageList中的序号
    m_List.SetItem(&item);
      

  2.   

    LVITEM item;
    item.iImage = i; // i为指定图标在ImageList中的序号
    m_List.SetItem(&item);-----------------------------------
    laiyiling(陌生人) :
     
    你能再说仔细点吗?如果要设置第一行的第5列的显示图标的序号为5,怎么做?
    加班这么长时间,头都晕了
      

  3.   

    非常感谢: laiyiling(陌生人)  这位大侠,我按照他说的思路,可以设置图标了。我还有个问题,如果要往列表栏新添加一行包括图标的列,该怎么做?
      

  4.   

    LV_ITEM lvitem;
    lvitem.mask =  LVIF_IMAGE;
    lvitem.iItem = 0;    //代表第1行
    lvitem.iSubItem = 5;       //代表第6列
    lvitem.pszText = NULL;
    lvitem.iImage = 2;        //int型,代表图片序列号
    GetListCtrl().SetExtendedStyle(GetListCtrl().GetExtendedStyle() | LVS_EX_SUBITEMIMAGES);
    GetListCtrl().SetItem(&lvitem);
      

  5.   

    LV_ITEM lvitem;
    lvitem.mask =  LVIF_IMAGE | LVIF_TEXT;
    lvitem.iItem = 0;    //代表第1行
    lvitem.iSubItem = 5;       //代表第6列
    lvitem.pszText = NULL;
    lvitem.iImage = 2;        //int型,代表图片序列号
             lvitem.pszText = .....;  //显示文本
    GetListCtrl().SetItem(&lvitem);
      

  6.   

    laiyiling(陌生人|▄︻┻┳═一) :
    哦,这样设置是对每行的各个列逐列进行设置的,可不可以一次对一行的所有列进行设置呢?
      

  7.   

    怎么插入一行包括图标的列?我问得比较零散,望  laiyiling(陌生人|▄︻┻┳═一)  这位大侠见谅。