VC中如何实现菜单选项中的选项变灰(不可用)或者可用?
vc,我做了一个单文档界面的程序,在菜单中加了一栏叫function,在下拉子菜单中有三个选项分别是:encode,encode&decode,decode,这三个不是command型的命令,是三个选项,也就是在选 中了某一个之后,会在前面出现打勾的状态,现在我在下面的窗口中设置了一个按钮,在function下拉菜单中选中encode,然后我要在点击按钮之后让function选项中的其它两个变灰(不可用),怎么实现这个选项的可用与不可用?

解决方案 »

  1.   

    为菜单添加UPDATE_COMMAND_U消息,并加入以下代码:
    pCmdUI->Enable(FALSE);
      

  2.   

    为要设置变灰的菜单添加UPDATE_COMMAND_UI消息,并加入以下代码:
    pCmdUI->Enable(FALSE);当前菜单不可用
    pCmdUI->Enable(TURE);当前菜单不可用
    参数可用变量,这样就可以随时设置菜单某项禁用。
      

  3.   

    也可以用api函数
    EnableItem(...);
      

  4.   

    加三个变量
    选中一个就将它TRUE,其它的FALSE(在On..里面)
    OnUpdate里为TRUE是就pCmdUI->Enable(FALSE);
    事例如下
    void CDisplayModeView::OnUpdateChazhiMeoth(CCmdUI* pCmdUI) 
    {
    // TODO: Add your command update UI handler code here
    CDisplayModeDoc* pDoc = GetDocument();
    CDisplayModeApp *app=(CDisplayModeApp *)AfxGetApp();
    ASSERT_VALID(pDoc);
    if(pDoc->m_IsLoadImg==FALSE )
    pCmdUI->Enable(FALSE);
    else
    {
    pCmdUI->Enable(TRUE);
    }
    }
      

  5.   

    pCmdUI->Enable(FALSE);
    pCmdUI->Enable(TRUE);
      

  6.   

    大家知不知道void CDisplayModeView::OnUpdateChazhiMeoth(CCmdUI* pCmdUI)什么时候被调用呢??
    也就是说UPDATE_COMMAND_UI消息什么时候发出??