我想为我的ListCtrl的每个ITEM加上图片,ListCtrl我已经设为ICON样式
我已经准备好了
4个BMP图片(是40X40的大小),怎么加呢?我下面的代码并没有给我显示出来:(
         CBitmap cBmp;
cBmp.LoadBitmap(IDB_N01);
m_ImageList.Add(&cBmp, RGB(0,0,0));
cBmp.DeleteObject();
cBmp.LoadBitmap(IDB_N02);
m_ImageList.Add(&cBmp, RGB(0,0,0));
cBmp.DeleteObject();
cBmp.LoadBitmap(IDB_N03);
m_ImageList.Add(&cBmp, RGB(0,0,0));
cBmp.DeleteObject();
cBmp.LoadBitmap(IDB_N04);
m_ImageList.Add(&cBmp, RGB(0,0,0));
cBmp.DeleteObject();
m_listOnlineUser.SetImageList(&m_ImageList, LVSIL_NORMAL);
         //下面把它显示出来
for (int i = 0; i < m_nOnlineUserNum; i++)
{
 m_listOnlineUser.InsertItem(i,m_onlineUser[i].nickname,i%4);}
我想让图片和字并排在一起吗,
能给我点示范代码吗,先谢谢啦:)

解决方案 »

  1.   

    CImageList m_imageList;
    m_imageList.Create(40,40,TRUE,4,1);//然后加上你的代码
    CBitmap cBmp;
    cBmp.LoadBitmap(IDB_N01);
    m_ImageList.Add(&cBmp, RGB(0,0,0));
    cBmp.DeleteObject();
    cBmp.LoadBitmap(IDB_N02);
    m_ImageList.Add(&cBmp, RGB(0,0,0));
    cBmp.DeleteObject();
    cBmp.LoadBitmap(IDB_N03);
    m_ImageList.Add(&cBmp, RGB(0,0,0));
    cBmp.DeleteObject();
    cBmp.LoadBitmap(IDB_N04);
    m_ImageList.Add(&cBmp, RGB(0,0,0));
    cBmp.DeleteObject();
    m_listOnlineUser.SetImageList(&m_ImageList, LVSIL_NORMAL);
             //下面把它显示出来
    for (int i = 0; i < m_nOnlineUserNum; i++)
    {
     m_listOnlineUser.InsertItem(i,m_onlineUser[i].nickname,i%4);}
      

  2.   

    你也可以通过动态的绘制到内存位图,然后与CDC Detach,然后通过CImageList::Add 来添加
      

  3.   

    每个CImage对像都有个DC对应,用那个来改
      

  4.   

    谢谢楼上几位,
    但我最喜欢zengwujun(月之海) 的回复,
    做程序还是代码最能说明问题。
    不过还是谢谢大家
      

  5.   

    MSDN:
    BOOL Create( int cx, int cy, UINT nFlags, int nInitial, int nGrow );m_imageList.Create(40,40,TRUE,4,1);
    第四个参数用TRUE是什么意思?