用了一天时间,终于把这个问题解决了。结果是那么的简单。终结原因,还是对MFC不够熟。
我对工具栏图标是这样实现的:
将BMP位图添加到CImageList,然后用ToolBarCtrl.SetImageList(&m_imageList);
工具栏图标透明化的关键代码语句:
m_imageList.Create(32,32,ILC_COLOR32|ILC_MASK,0,0);
m_imageList.Add(&bmp,RGB(0,0XFF,0)); // RGB(0,0XFF,0) 为设置的要屏蔽的背景颜色
关键资料:
CImageList::Create
vc 2010-08-13 14:06:18 阅读145 评论0 字号:大中小 订阅
CImageList::Create
BOOL Create( int cx, int cy, UINT nFlags, int nInitial, int nGrow ); BOOL Create( UINT nBitmapID, int cx, int nGrow, COLORREF crMask ); BOOL Create( LPCTSTR lpszBitmapID, int cx, int nGrow, COLORREFcrMask ); BOOL Create( CImageList& ImageList1, int nImage1, CImageList& ImageList2, int nImage2, int dx, int dy ); 返回值:如果成功,则返回非零值,否则为0。 参数:
|