在我的资源列表中有示例程序源码(vs2005编译通过)
http://download.youkuaiyun.com/source/3491217
为了使我们的工具来脱离16位的限制,接下来我们要实现一个拥有真彩色的图标,具体操作方法其实很简单
在工具栏创建完成之后,定义一个CImageList,根据位图大小创建ImageList,貌似目前默认最大只支持32*32的,如果你真需要更大的,那就要给一个更大的buttonsize,当然创建的时候也给一个小于buttonsize的宽和高就行了
CImageList ImageList;
m_wndToolBar.SetSizes(CSize(39,40), CSize(32,32));
ImageList.Create(32,32,ILC_COLOR32 | ILC_MASK,7,1);
关于Create参数可以参看msdn,接下来创建CBitmap
CBitmap bm;
bm.LoadBitmap(IDB_HIDEORSHOW);
ImageList.Add(&bm,(CBitmap*)NULL);
bm.Detach();
...
有几个图标就重复操作 ,加载顺序就是工具栏图标的顺序,个数也应保持与工具栏创建保持一致,同时确保工具栏已经正确的创建的响应函数:
bm.LoadBitmap(IDB_HIDEORSHOW);
ImageList.Add(&bm,(CBitmap*)NULL);
bm.Detach();
最后
m_wndToolBar.GetToolBarCtrl().SetImageList(&ImageList);
ImageList.Detach();
ok,运行,看看你的图标有没有改变吧!我的已经可以了
创建一个更大的
m_wndToolBar.SetSizes(CSize(265,265),CSize(256,256));
m_ImageList.Create(256,256,ILC_COLOR32 | ILC_MASK ,2,2);
