在vs2008中,MFC提供了CMFCStatusBar(状态栏)以及CMFCToolBar(工具栏). 这两种CMFCXX的类都继承了CPane.
所以CDockPane与CMFCStatusBar,CMFCToolBar的显示与隐藏方式都一样.
具体实现:
1.添加CDockPane的COMMAND与UPDATA_COMMAND_UI消息
2.在CMainFrame.h里定义一个BOOL变量,用作控制菜单上是否打勾.
void CMainFrame::OnWndstandard()
{
// TODO: Add your command handler code here
if (m_bToolBarStandard)//判断CDockPane的状态
m_wndStandardToolBar.ShowPane(FALSE, FALSE, FALSE);//隐藏
else
m_wndStandardToolBar.ShowPane(TRUE, FALSE, TRUE);//显示
m_bToolBarStandard = !m_bToolBarStandard;//改变CDockPane的状态
}
void CMainFrame::OnUpdateWndstandard(CCmdUI *pCmdUI)
{
// TODO: Add your command update UI handler code here
m_bToolBarStandard = m_wndStandardToolBar.IsVisible();//保存CDockPane的状态
pCmdUI->SetCheck(m_bToolBarStandard);//是否在相应菜单前大勾
}