VC中如何设置菜单项的触发状态?

时间:2023-03-09 03:05:41
VC中如何设置菜单项的触发状态?

MFC中初始菜单栏如下:
VC中如何设置菜单项的触发状态?
当工程未新建,或者未打开时,后面的观测菜单设置为灰色,不可触发。
当新建工程或者打开工程后,菜单变回可触发状况。
观测菜单如下:
VC中如何设置菜单项的触发状态?
下面以轴力观测菜单为例
轴力初始测量菜单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);//未新建或打开工程时,变灰
  }
}

希望对大家会有所帮助!