先准备一个24位的真彩色工具栏BMP图片
如图所示:
然后添加到Bitmap资源里
接着上一篇16位工具栏的代码,进行稍微修改即可
//创建Toolbar
m_toolbar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP);
//加载Toolbar //16位的工具栏按钮个数决定24位的工具栏按钮个数
//因为那些bmp位图是显示在工具栏按钮上的
m_toolbar.LoadToolBar(IDR_TOOLBAR1);
CImageList image;
CBitmap bmp;
//加载24位BMP工具栏
bmp.LoadBitmap(IDB_COLD);
//创建图像列表 //ILC_MASK表示背景透明 //6个工具按钮,每次增加一个
image.Create(32, 32, ILC_MASK | ILC_COLOR24, 6, 1);
//把bmp加入到图像列表
image.Add(&bmp,RGB(255,255,255));//背景颜色为白色
m_toolbar.GetToolBarCtrl().SetImageList(&image);
image.Detach();//用完之后解绑
bmp.Detach(); //用完之后解绑
//如果显示不完全,就调整一下大小
CRect rect;
//获取第一个工具按钮的大小
m_toolbar.GetItemRect(0, &rect);
//第一个参数是按钮大小,第二个是图片大小
m_toolbar.SetSizes(rect.Size(), CSize(32, 32));
//调整工具栏的位置
RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);
效果如图:
后面三个按钮还没有进行消息处理.