COLORREF crMask = RGB(0, 128, 128);
CBitmap bm;
bm.LoadBitmap(IDB_EMOTIONS);
m_emotionsImageList.Create(20, 20, ILC_COLOR8 | ILC_MASK, 50, 0);
m_emotionsImageList.Add(&bm, crMask);
m_emotionsImageList.SetBkColor(CLR_NONE);m_pImageList->Draw(pDC, i * m_nCol + j, pt, ILD_NORMAL);我已经设置了掩码的颜色(0, 128, 128),在win2k下工作正常,但是98下却有背景色,怎么办?

解决方案 »

  1.   

    RGB(0, 128, 128)换成RGB(0, 0, 0);
      

  2.   

    CBitmap bmpICQImages;
    bmpICQImages.LoadBitmap(IDB_COOLUSERBAR_ITEMS);
    m_icqImageList.Create(16, 16, ILC_COLOR16 | ILC_MASK, 2, 1);
    m_icqImageList.Add(&bmpICQImages, crMask);
    bmpICQImages.DeleteObject();
    CBitmap bmpEmotions;
    bmpEmotions.LoadBitmap(IDB_EMOTIONS);
    m_emotionsImageList.Create(20, 20, ILC_COLOR8 | ILC_MASK, 50, 0);
    m_emotionsImageList.Add(&bmpEmotions, crMask);
    bmpEmotions.DeleteObject();与这个有关系吗?