今天整了很久这个菜单项与工具栏的问题总结一下
当工具栏与菜单ID号相同,想同时变动必须响应菜单的 UPDATE_COMMAND_UI 事件
但这个事件随时都是在响应的,所以为了能控制他必须做个变量来控制
//这里我定义叫Exit的菜单项,初始化是可用状态
bool bShowMenu = true;
void CMainFrame::OnUpdateExit(CCmdUI* pCmdUI)
{
if(bShowMenu)
pCmdUI->Enable(TRUE);
else
pCmdUI->Enable(FALSE);
}
然后在菜单的 COMMAND 事件里打开对话框,当对话框打开后将这个菜单项设为不可用
void CMainFrame::OnExit()
{
//关闭窗口
DestroyWindow();
bShowMenu = false;
}
如果你有工具栏图标按钮跟他相连的话,这时就会根据菜单项变动了