用EnableMenuItem不能使菜单变灰的原因

时间:2023-03-10 01:18:38
用EnableMenuItem不能使菜单变灰的原因

为何不能Disable菜单项  
  问:我有一个工具button在WM_COMMAND消息是这样做的:  
   
  CMenu   *pMenu   =   GetMenu();  
  pMenu->EnableMenuItem(ID_MY_OPTION,MF_BYCOMMAND|MF_DISABLED);  
   
  但菜单并没有被Disable  
  答:缺省的习惯是当没有UpdateCmdUI句柄时程序是使能(Enable)菜单,这就是为什么菜单自己主动变成使能,仅仅要关掉缺省值就能够了,把以下的代码增加你的程序    
  CMainFrm::CMainFrm  
  {  
          //   Other   stuff  
          this->m_bAutoMenuEnable   =   false;  
  }