现在的位置: 首页 > 综合 > 正文

在对话框里面使用ON_UPDATE_COMMAND_UI映射工具条/菜单

2013年10月26日 ⁄ 综合 ⁄ 共 916字 ⁄ 字号 评论关闭

对话框 添加工具条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了。

抱歉!评论已关闭.