已经为ListCtrl绑定了一个控制变量m_listctrl,共有有7行,我希望在每行的第一列放入一个bmp图片,初始化时放上去,应该怎么实现?。
7个bmp已经存在了。分别是bmp1.....bmp7。
我用ImageList,老是显示不了。
请大家帮忙,希望能给出代码例子。。
谢谢了。。~

解决方案 »

  1.   

    我在头文件里面定义了一个CImageList m_imagelist;在OnInitDlg里面{
    CBitMap bm;
    m_imagelist.Create(16,16,ILC_COLOR8,0,4);
    bm.LoadBitmap(IDB_BITMAP_Error);
    m_imagelist->Add(&bm,RGN(0,0,0));
    bm.LoadBitmap(IDB_BITMAP_NotUse);
    m_imagelist->Add(&bm,RGN(0,0,0));
    bm.LoadBitmap(IDB_BITMAP_Idle);
    m_imagelist->Add(&bm,RGN(0,0,0));
    m_ListDetail.SetImageList(&m_imagelist, LVSIL_STATE);
    .......}
    发现,每次Add,都返回0;    Add成功,返回从0开始的序号,如果失败应该返回1。
    请问为什么它总是返回0呢?
    谢谢了。
      

  2.   

    CBitMap bm = new CBitmap();
    m_imagelist.Create(16,16,ILC_COLOR8,0,4);
    bm->LoadBitmap(IDB_BITMAP_Error);
    m_imagelist->Add(bm,RGN(0,0,0));
    bm = new CBitmap();
    bm->LoadBitmap(IDB_BITMAP_NotUse);
    m_imagelist->Add(bm,RGN(0,0,0));
    bm = new CBitmap();
    bm->LoadBitmap(IDB_BITMAP_Idle);
    m_imagelist->Add(bm,RGN(0,0,0));
    m_ListDetail.SetImageList(&m_imagelist, LVSIL_STATE);不用ImageList的时候记的释放,,MFC不大懂,看看行不行
      

  3.   

    http://www.codeguru.com/Cpp/controls/listview/看Using images
      

  4.   

    每次用完bm后,都要delete一下。
    同时记得在LV_ITEM的mask里面要有 LVIF_IAMGE参数。