C++ MFC 如何在菜单的更新函数之外将菜单有效或无效

比如如何设置菜单初始状态有效或无效,如何在某个菜单项的响应函数里将其它菜单项有效或无效... 比如如何设置菜单初始状态有效或无效,如何在某个菜单项的响应函数里将其它菜单项有效或无效 展开
 我来答
团长你好吗
推荐于2016-07-10 · TA获得超过597个赞
知道小有建树答主
回答量:422
采纳率:20%
帮助的人:126万
展开全部
void CCmdUI::Enable(BOOL bOn)
{
    if (m_pMenu != NULL)
    {
        if (m_pSubMenu != NULL)
            return; // don't change popup menus indirectly

        ASSERT(m_nIndex < m_nIndexMax);
        m_pMenu->EnableMenuItem(m_nIndex, MF_BYPOSITION |
            (bOn ? MF_ENABLED : (MF_DISABLED | MF_GRAYED)));
    }
    else
    {
        // enable/disable a control (i.e. child window)
        ASSERT(m_pOther != NULL);

        // if control has the focus, move the focus before disabling
        if (!bOn && (::GetFocus() == m_pOther->m_hWnd))
            m_pOther->GetParent()->GetNextDlgTabItem(m_pOther)->SetFocus();
        m_pOther->EnableWindow(bOn);
    }
    m_bEnableChanged = TRUE;
}
jiangsanhuo
2015-10-16 · TA获得超过168个赞
知道小有建树答主
回答量:291
采纳率:81%
帮助的人:171万
展开全部
你可以设置一个标志,在更新函数中检测标志再决定是否enable
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gkhymzl
推荐于2016-06-16
知道答主
回答量:2
采纳率:0%
帮助的人:2.2万
展开全部
好久不写mfc细节记不得了

在窗口类里加成员变量m_flag,在菜单A响应函数里面m_flag = fase;

然后在菜单B的on-update-ui响应函数里面写if(m_flag) cmdUI->enable(TRUE)...
追问
请问只有在菜单的更新函数里才可以对菜单进行操作吗?
没有什么能够直接通过菜单ID来操作的函数吗。。。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
归悦欣cf
2015-02-10 · TA获得超过1442个赞
知道大有可为答主
回答量:4250
采纳率:60%
帮助的人:1283万
展开全部
有函数,分析下CMenu类
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
iwannar
2015-11-29 · TA获得超过328个赞
知道小有建树答主
回答量:274
采纳率:0%
帮助的人:119万
展开全部
GetDlgItem(菜单ID)->Enable=false
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式