基于对话框的程序,
我添加了菜单栏,和工具栏,如何将其中的某些按钮变灰,使其在一定的条件下可用。

解决方案 »

  1.   

    afx_msg void OnUpdateYourmenuitem(CCmdUI* pCmdUI);ON_UPDATE_COMMAND_UI(ID_YOURMENUITEM, OnUpdateYourmenuitem)void CMainFrame::OnUpdateYourmenuitem(CCmdUI* pCmdUI) 
    {
    pCmdUI->Enable(0);
    }
      

  2.   

    响应工具栏的UPDATE_COMMAND_UI。
    定义一个BOOL型的变量BOOL Is,然后写成:
    pCmdUI->Enable(Is);
    当Is为TRUE时不变灰,为FALSE时变灰。
      

  3.   

    1.建立菜单项按钮ID_XSCJ_Input的UPDATE_COMMAND_UI消息映射;
    2.写语句pCmdUI->Enable(false);//其中,pCmdUI为该消息的入口参数。
    例如登录对话框,登陆正确后,按钮亮,不正确时是灰的
    具体语句如下:void CMainFrame::OnUpdateXSCJInput(CCmdUI* pCmdUI) 
    {
        if (!UserLogin)
       pCmdUI->Enable(false);
    else 
    pCmdUI->Enable(TRUE);
    }
      

  4.   

    在代码中设置false  界面中设置禁止??
      

  5.   

    晕,实现方法很多把,很多基础书都有,不过一般baidu,(google)一下
      

  6.   

    对话框上的工具栏默认是不响应UPDATE_COMMAND_UI,和对话框上的菜单一样的
    参考http://blog.csdn.net/VisualEleven/archive/2010/04/21/5513648.aspx
      

  7.   

    这是基于对话框的,所以,update的那个不行。。