//创建工具条
bool CMainFrame::CreateToolBar(CMFCToolBar* toolbar, UINT uiHotResID, UINT uiLargeHotResID, LPCTSTR pszText)
{
//校验数据
ASSERT(toolbar != nullptr);
CMFCToolBarInfo tbInfo;
tbInfo.m_uiHotResID = uiHotResID; // Toolbar "hot" images
tbInfo.m_uiLargeHotResID = uiLargeHotResID; // Toolbar large "hot" images
if (!toolbar->CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC, CRect(1, 1, 1, 1), uiHotResID) ||
!toolbar->LoadToolBarEx(uiHotResID, tbInfo))
{
TRACE0("Failed to create standard toolbar\n");
return false; // fail to create
}
//设置显示大图标
toolbar->SetLargeIcons();
//根据按钮大小调整工具条
toolbar->AdjustSizeImmediate();
//设置工具条文本
toolbar->SetWindowText(pszText);
CString strCustomize;
BOOL bNameValid = strCustomize.LoadString(IDS_TOOLBAR_CUSTOMIZE);
ASSERT(bNameValid);
toolbar->EnableCustomizeButton(TRUE, ID_VIEW_CUSTOMIZE, strCustomize);
toolbar->EnableDocking(CBRS_ALIGN_ANY);
return true;
}
折腾了一天看了下帮助文档才发现用SetLargeIcons能显示大图标,这个静态创建的有用,动态创建的没有图标显示不完成,不知道怎么回事,有兴趣的可以自己研究下
以下是别人的提供的动态创建,反正我试了是图标显示不完全,有兴趣的可以自己试试
https://blog.csdn.net/xiaxiaojing/article/details/46620013
https://blog.csdn.net/qing666888/article/details/78546652