MFC中维护菜单状态的两种方法

原创 2006年05月30日 13:23:00

    MFC中维护菜单状态一般是通过UPDATE_COMMAND_UI消息。那些还没有添加消息响应的UI都默认为灰色。而SDK程序中,改变菜单状态时,可以调用EnableMenuItem( UINT nIDEnableItem, UINT nEnable )函数。

    本来我在程序中,不想添加太多的消息映射,而直接使用EnableMenuItem函数,结果行不通。通过查询了一些菜单编程的知识,发现这个m_bAutoMenuEnable成员函数。它是CFrameWnd类的public成员函数,默认为TRUE。正是因为它的存在,而使得那些没有添加消息的UI都为灰色。

如果想在MFC中使用EnableMenuItem函数,必须需要对程序进行一点改动。

    //Disable MFC from automatically disabling menu items. 
    m_bAuoMenuEnable=FALSE; 
    //Now enable the menu item. 
    CMenu* pMenu=GetMenu (); 
    ASSERT_VALID (pMenu); 
    pMenu->EnableMenuItem (ID_MENU_ITEM,MF_BYCOMMAND | MF_ENABLED); 

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

删除MFC单文档默认菜单栏的两种方法

新建一个MFC单文档程序,默认都有四个菜单栏:文件、编辑、视图和帮助。怎么把这四个菜单栏删除掉呢?有两种方法: 第一种方法:重载框架类的Create函数,具体代码如下: ...

删除MFC单文档默认菜单栏的两种方法

作者:朱金灿 来源:http://blog.csdn.net/clever101/ 新建一个MFC单文档程序,默认都有四个菜单栏:文件、编辑、视图和帮助。怎么把这四个菜单栏删除...

精选:深入理解 Docker 内部原理及网络配置

网络绝对是任何系统的核心,对于容器而言也是如此。Docker 作为目前最火的轻量级容器技术,有很多令人称道的功能,如 Docker 的镜像管理。然而,Docker的网络一直以来都比较薄弱,所以我们有必要深入了解Docker的网络知识,以满足更高的网络需求。

两种状态机

状态机分为moore型和mealy型两种。 差别在于前者的输出单纯由寄存的状态决定,后者的输出由输入和状态输出同时决定。1.Moore 型output=f(state)output=f(state)...
  • wallc
  • wallc
  • 2017-05-17 16:49
  • 98

删除 MFC 默认菜单的两种方式

作者:朱金灿 来源:http://blog.csdn.net/clever101/       新建一个MFC单文档程序,默认都有四个菜单栏:文件、编辑、视图和帮助。怎么把这四个菜单栏删除掉呢...

Animator引用其中参数和状态的两种方法

当使用"Animator"时,有两种方法可以引用其中的状态和参数,可以通过字符串名称引用或者通过整数"Hash ID"引用 通过"Hash ID"引用会更有效率且不容易出错,所以可以创建一个脚本...

整理:状态机的两种写法

有限状态机FSM思想广泛应用于硬件控制电路设计,也是软件上常用的一种处理方法(软件上称为FMM有限消息机)。它把复杂的控制逻辑分解成有限个稳定状态,在每个状态上判断事件,变连续处理为离散数字处理,符合...
  • bat67
  • bat67
  • 2016-07-29 10:39
  • 737

状态机的两种写法

有限状态机FSM思想广泛应用于硬件控制电路设计,也是软件上常用的一种处理方法(软 件上称为FMM--有限消息机)。它把复杂的控制逻辑分解成有限个稳定状态,在每个状态 上判断事件,变连续处理为离散数字处...

C++ MFC中的CMenu---动态添加菜单/菜单项

如何动态添加菜单/菜单项、子菜单、右键菜单 有关菜单的操作主要用到CMenu类,当然也可用相应API函数,CMenu类只是MFC对API中操作菜单的函数的封装而已。 不过能用类就尽量用类,类的组织方...

Flask学习总结笔记(9) -- 利用Flask-Login维护用户登录状态

HTTP 协议是无状态的,无法记录用户的访问状态,但是在Web应用中我们需要知道用户的状态,尤其是用户登录的状态,这样在页面跳转后,才知道用户是否有权限来操作页面上提供的功能或是查看页面上的数据。Fl...

VC 动态创建菜单

步骤如下: (1)创建一个基于对话框的应用程序 (2)在对话框的头文件中声明一个CMenu类对象 m_Menu (3)在工作区窗口中选择FileView选项卡,打开资源头文件(Resource....
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)