今天用VS2015新建一个MFC项目,添加工具栏后,导入图片,运行时工具栏的按钮是空的,没有显示图标,代码如下:
CImageList _imgList;
_imgList.Create(20, 20, ILC_COLOR32 | ILC_MASK, 0, 1);
DWORD dIcon[] = { IDI_TNewFile, IDI_TOpenFile, IDI_TSave, IDI_TSaveAs, IDI_TExport, IDI_TLogOut, IDI_THelp };
for (int i = 0; i < sizeof dIcon / sizeof dIcon[0]; i++)
{
_imgList.Add(AfxGetApp()->LoadIcon(dIcon[i]));
}
if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
!m_wndToolBar.LoadToolBar(IDR_MainToolBar))
{
TRACE0("未能创建工具栏\n");
return false;
}
m_wndToolBar.GetToolBarCtrl().SetImageList(&_imgList);
m_wndToolBar.GetToolBarCtrl().SetButtonSize(CSize(30, 30));
m_wndToolBar.GetToolBarCtrl().SetBitmapSize(CSize(20, 20));
排查了半天,也没找出原因,最后将 CImageList _imgList 放在MainFrm.h 头文件中,问题得以解决。