在一菜单项的Update_command_UI消息处理函数中:
void CLgDlg::OnUpdateSee(CCmdUI* pCmdUI) 
{
// TODO: Add your command update UI handler code here
pCmdUI->Enable(m_flag);}
m_flag为一bool变量,改变m_flag的值,可是菜单项没有变化,还是可用状态。
替换成:pCmdUI->Enable(false);
可是状态还是没有变化?
是不是犯了哪些低级错误,望高手指点?

解决方案 »

  1.   

    一定是低级错误,我也发生过!你看看是不是你的消息是否在视图或者框架中否则他都不要用
    ClgDlg是满足以上的条件么?
      

  2.   

    Give me the source code,so I can check it and help you!
      

  3.   

    对话框并不发送菜单的Command的UI消息
    你可以设个断点看程序根本就没有运行到这
     
      

  4.   

    如果不是对话框程序,而且CLgDlg是个对话框类的话,我估计你是加消息处理函数加错了地方,加到视图里就好了,
      

  5.   

    你要取得cmenu的handle
    void CLgDlg::OnSee() // 注意不是onupdatesee
    {
    CMenu *pMenu = (CMenu*) GetMenu();pMenu->....// todo what you want
    /*example
    pMenu->CheckMenuItem(IDC_CHART,MF_CHECKED);
    pMenu->CheckMenuItem(IDC_SHEET,MF_UNCHECKED);*/
    }
    是不是搞定了?呵呵
      

  6.   


    pMenu->EnableMenuItem(IDC_CHART,flags);
    ================================================================CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!★  浏览帖子速度极快![建议系统使用ie5.5以上]。 ★  多种帖子实现界面。 
    ★  保存帖子到本地[html格式]★  监视您关注帖子的回复更新。
    ★  可以直接发贴、回复帖子★  采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录! 
    ★  支持在线检测程序升级情况,可及时获得程序更新的信息。★★ 签名  ●  
         可以在您的每个帖子的后面自动加上一个自己设计的签名哟。Http://www.ChinaOK.net/csdn/csdn.zip
    Http://www.ChinaOK.net/csdn/csdn.rar
    Http://www.ChinaOK.net/csdn/csdn.exe    [自解压]
      

  7.   

    pMenu->EnableMenuItem(IDC_CHART,flags);你的方法也可以,那是经常用的方法,看程序是对得。估计是别的地方出错了
    观察一下m_flag的值是不是对