最近写个程序,想更换一下难看的系统工具条,可是VC里面只支持16色的工具条,看了很多网上的帮助,终于搞定了。对于一个大牛程序员来说这 可能很小儿科,可是毕竟咱们不是大牛嘛。所以写出来以此留念。
CImageList imageList;
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP2);
//IDB_BITMAP2是一张拼好的bmp图。有人说一张一张的用程序拼接也是可以的,可是为什么要把简单的或者
可以由美工干的活压给自己呢。学着把工作推给别人做是个聪明的程序员。呵呵。
imageList.Create(32,32,TRUE | ILC_COLOR8,6,1);
/*前两个参数分别为图标按钮的宽和高
ILC_ COLOR8说明以256色调色板来显示图标。而TRUE则指明了以透明方式来显示图标。两者进行\"按位或\"运算后的意义变为:以透明方式来显示256色图标。
第四和第五个参数则分别为:初始图标个数和新增图标时对象自动申请内存空间的步长。如果在大批量操作图标,并且需要不断的增删图标时,设置第五个参数可以改变程序的性能,如果第五个参数设置的比较适中则可以避免程序反复的申请和释放内存空间。
*/
imageList.Add(&bitmap,RGB(236,232,215));
m_wndToolBar.GetToolBarCtrl().SetImageList(&imageList);
imageList.Detach();
bitmap.Detach();
//图标失效时的图标(灰色的)
bitmap.LoadBitmap(IDB_DIS_TOOLBAR);
imageList.Create(32,32,TRUE | ILC_COLOR8,6,1);
imageList.Add(&bitmap,RGB(236,232,215));
m_wndToolBar.GetToolBarCtrl().SetDisabledImageList(&imageList);
imageList.Detach();
bitmap.Detach();