这是对上一篇文章中使用下拉菜单工具栏类的扩展,主要为CToolBarEx增加了SetImageList(...)成员函数
以下为SetImageList(...)的代码
BOOL CToolBarEx::SetImageList(UINT nIDImageList,COLORREF clrMask, UINT nType)
{
CImageList imgList;
CBitmap bm;
BITMAP bminfo;
if(!bm.LoadBitmap(nIDImageList))
{
TRACE0("Unable to load bitmap!");
return FALSE;
}
bm.GetBitmap(&bminfo);
if(!imgList.Create(bminfo.bmHeight,bminfo.bmHeight,ILC_COLOR32|ILC_MASK,bminfo.bmWidth/bminfo.bmHeight,0))
{
TRACE0("Unable to create image list!");
bm.DeleteObject();
return FALSE;
}
imgList.Add(&bm,clrMask);
switch(nType)
{
//SIL_NORMAL,SIL_HOT,SIL_DISABLED为CToolBarEx的枚举成员
case SIL_NORMAL:
GetToolBarCtrl().SetImageList(&imgList);
break;
case SIL_HOT:
GetToolBarCtrl().SetHotImageList(&imgList);
break;
case SIL_DISABLED:
GetToolBarCtrl().SetDisabledImageList(&imgList);
break;
default:
TRACE0("No this type!");
}
bm.DeleteObject();
imgList.Detach();
return TRUE;
}
示例源代码下载(For Visual Studio 2003)