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中菜单栏选项的点击使能与禁止

主要程序源代码: CMenu *pMenu; pMenu = AfxGetMainWnd()->GetMenu(); pMenu->EnableMenuItem(ID_RESET, MF_GRA...

MFC中菜单项状态的切换

MFC中的菜单项中左边可以有一个是否选中的状态,注意不是让菜单项变灰,而是在菜单项左边出现一个钩,要实现这个效果,需要进行下面这几步操作。 1.首先在菜单项的资源文件中将属性Checked置为true...

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

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

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

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

两种方法封装调用MFC-dll

  • 2016年04月20日 23:05
  • 226KB
  • 下载

基于jquery实现导航菜单高亮显示(两种方法)

基于jquery实现导航菜单高亮显示(两种方法) 投稿:mrr 字体:[增加 减小] 类型:转载 时间:2015-08-23 我要评论 本篇文章是基于jquery实现导航菜单高亮显示,当点击不同...

MFC制作透明图片的两种方法

  • 2011年05月08日 19:01
  • 538B
  • 下载

iOS 两种方法实现左右滑动出现侧边菜单栏 slide view

现在很多的APP中都有slide view,左右滑动出现侧边菜单栏的功能,Weico这个应用就有。 网上有很多第三方的类库实现了这种效果,其实自己代码写的话也是很简单的,下面我将介绍两种方法实现sli...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MFC中维护菜单状态的两种方法
举报原因:
原因补充:

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