对话框 添加工具条toolbar
if(!m_ToolBar.CreateEx(this, TBSTYLE_FLAT,
WS_CHILD|WS_VISIBLE|CBRS_TOP|CBRS_GRIPPER|CBRS_TOOLTIPS|CBRS_SIZE_DYNAMIC)
||!m_ToolBar.LoadToolBar(IDR_TOOLBAR_GRAPHICS))
{
TRACE0(_T("创建工具条失败\n"));
return FALSE;
}
RepositionBars(AFX_IDW_CONTROLBAR_FIRST, AFX_IDW_CONTROLBAR_LAST, 0);
在对话框里面使用ON_UPDATE_COMMAND_UI映射工具条
BOOLCMyDlg::ContinueModal()
{
if(m_wndtoolbar.IsWindowVisible())
{
CFrameWnd*pParent=(CFrameWnd*)m_wndtoolbar.GetParent();
if(pParent)
m_wndtoolbar.OnUpdateCmdUI(pParent,(WPARAM)TRUE);
} //工具栏
CMenu*pMainMenu=GetMenu();
CCmdUI cmdUI;
for(UINT n=0;n<pMainMenu->GetMenuItemCount(); n++)
{
CMenu*pSubMenu=pMainMenu->GetSubMenu(n);
cmdUI.m_nIndexMax=pSubMenu->GetMenuItemCount();
for(UINT i=0;i<cmdUI.m_nIndexMax; i++)
{
cmdUI.m_nIndex=i;
cmdUI.m_nID=pSubMenu->GetMenuItemID(i);
cmdUI.m_pMenu=pSubMenu;
cmdUI.DoUpdate(this,FALSE);
}
}//菜单
returnCDialog::ContinueModal();
}
然后再对应的.h中添加 BOOLContinueModal();
这样你就可以使用UPDATE_COMMAND_UI了。