我的ListCtrl风格是Report
在每一项的前面添加一个小图标
应该如何实现?网上找了好多资料都不大明白,照着做也不行,只好来请教有经验的朋友

解决方案 »

  1.   

    m_imagelist.Create(32,32,ILC_COLORDDB,2,2); //创建CImageList
    m_imagelist.Add(AfxGetApp()->LoadIcon(IDI_ICON1));  //向CImageList中添加图标
    m_imagelist.Add(AfxGetApp()->LoadIcon(IDI_ICON2)); 
    m_friendList.SetImageList(&m_imagelist,LVSIL_SMALL); //把CListCtrl中的CImageList联                           //系起来
    m_friendList.InsertColumn  (0,a,LVCFMT_CENTER,120) ; //添加数据
      

  2.   

    去我的博客,里面有介绍
    http://blog.csdn.net/fulingwei
      

  3.   

    //插入大图标
    m_pImageListBig = new CImageList();
    m_pImageListBig->Create(32, 32, TRUE, 2, 2);
    m_pImageListBig->Add(AfxGetApp()->LoadIcon(IDI_PEOPLE1));
    m_pImageListBig->Add(AfxGetApp()->LoadIcon(IDI_PEOPLE2));
    m_friendList.SetImageList(m_pImageListBig,LVSIL_NORMAL);
    m_friendList.InsertItem(0,"aa",0);
    //在Report样式中插入小图标
    m_pImageListSmall = new CImageList();
    m_pImageListSmall->Create(16, 16, TRUE, 2, 2);
    m_pImageListSmall->Add(AfxGetApp()->LoadIcon(IDI_DOWN));
    m_pImageListSmall->Add(AfxGetApp()->LoadIcon(IDI_UP));
    m_cDTUState.GetWindowRect(&rect);
    m_cDTUState.SetImageList(m_pImageListSmall, LVSIL_SMALL);
    m_cDTUState.InsertColumn(0,"站号",LVCFMT_LEFT,rect.Width()*11/73,-1);
    m_cDTUState.InsertColumn(1,"卡号",LVCFMT_LEFT,rect.Width()*8/73,-1);
    m_cDTUState.InsertColumn(2,"最近通信时间",LVCFMT_LEFT,rect.Width()*14/73,-1);
    m_cDTUState.InsertColumn(3,"因特网地址",LVCFMT_LEFT,rect.Width()*15/73,-1);
    m_cDTUState.InsertColumn(4,"因特网端口",LVCFMT_LEFT,rect.Width()*5/73,-1);
    m_cDTUState.InsertColumn(5,"内网地址",LVCFMT_LEFT,rect.Width()*15/73,-1);
    m_cDTUState.InsertColumn(6,"内网端口",LVCFMT_LEFT,rect.Width()*5/73,-1);
    m_cDTUState.InsertItem(m_iRow,m_sId,imageindex);