VC中如何设置菜单项的触发状态?
MFC中初始菜单栏如下:
当工程未新建,或者未打开时,后面的观测菜单设置为灰色,不可触发。
当新建工程或者打开工程后,菜单变回可触发状况。
观测菜单如下:
下面以轴力观测菜单为例
轴力初始测量菜单ID为ID_ZLFirst,
//设置所有的菜单为灰不可用
CMainFrame::CMainFrame()
{
this->m_bAutoMenuEnable = false;
theApp.ProNew=false;
theApp.ProOpen=false;
theApp.Connect=false;
}
给初始观测菜单添加UPDATA_COMMAND_UI事件。
//判断轴力初始观测是否变灰
void CMainFrame::OnUpdateZlfirst(CCmdUI *pCmdUI)
{
pCmdUI->Enable(false);
if(theApp.ProNew==true || theApp.ProOpen==true )//新建或打开工程后,恢复可触发状态
{
pCmdUI->Enable(true);
}
else
{
pCmdUI->Enable(false);//未新建或打开工程时,变灰
}
}
希望对大家会有所帮助!