我的目的很简单,就是把它初始化而已:
         CImageList m_il;
         CBitmap *m_pbp 
m_il.Add(m_pbp,1);×××
         就是这个简单的句子,为什么到打×××的这段不能通过,是不是语句中的参数搞错,请高人指导!谢谢!

解决方案 »

  1.   

    // Add my icons.
    pmyImageList->Add(AfxGetApp()->LoadIcon(IDI_ICON1));
    pmyImageList->Add(AfxGetApp()->LoadIcon(IDI_ICON2));// Add my bitmap, make all black pixels transparent.
    CBitmap bm;
    bm.LoadBitmap(IDB_BITMAP1);
    pmyImageList->Add(&bm, RGB(0, 0, 0));
      

  2.   

    CImageList m_il定义后,应该调用Create函数创建这个图像列表中的图像规格。否则m_il是不能使用的。比如:
    m_il.Create(32,32,ILC_COLOR4,2,1);表示图像列表中存放32*32大小的4位颜色的图像或者图标。然后才能将若干个32*32大小的图像对象加入到这个图像列表中。也就是说,你的程序缺少了Create调用,自然程序无法运行了。
      

  3.   

    当然你得先Create这个pmyImageList
    如:pmyImageList->Create(32, 32, ILC_COLOR8, 0, 4);
      

  4.   

    1、要调用CImageList.Create来创建这个imagelist
    2、m_pbp没有初始化:m_pbp = new CBitmap;
    m_pbp->LoadBitmap(xxx);m_il.Add(...);
      

  5.   

    HBRUSH m_brush=::CreateSolidBrush(RGB(255,0,0));
    HDC dc=::GetDC(this->GetSafeHwnd());
    HBITMAP hBm=NULL;
             hBm=DrawBitmap(dc,0,0, hBm, m_brush);
             CBitmap *m_pbp=m_bp.FromHandle(hBm);
    m_il.Add(m_pbp,1);这个是我原始的代码,大家再看看吧!