1、添加菜单资源
     在resourceview视图中右击选择insert,添加一个菜单资源IDR_MENU1,同时设定好响应的菜单项,例

如:
         菜单1                                          菜单2
           子菜单1(ID_MENUITEM1)            子菜单3(ID_MENUITEM3)
           子菜单2(ID_MENUITEM2)            子菜单4(ID_MENUITEM4)
2、在对话框中添加该菜单,先增成员变量HMENU m_hMenu1; 然后在初始化函数OnInitDialog()添加一下代码:
   m_hMenu1=LoadMenu(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_MENU1));//导入资源,创建菜单

   ::SetMenu(this->GetSafeHwnd(),m_hMenu1);//添加到对话框
3、添加子菜单响应函数
   点击菜单View-->ClassWizard,在message map选项卡中选择我们要响应的菜单ID_MENUITEM1,然后选

择COMMAND消息,双击添加到member functions中,提示命名,命名后在member functions双击该函数,

编写响应动作

4、注销资源
   在对话框的OnDestroy函数中添加一下代码:
   DestroyMenu(m_hMenu1);

5、关于禁用菜单或者子菜单

子菜单
  CMenu * pMenu;
  CMenu * pSubMenu;  
  pMenu=CMenu::FromHandle(m_hMenu1);//获得菜单栏的指针

pSubMenu=pMenu->GetSubMenu(1); //1表示从0开始的主菜单序号

pSubMenu->EnableMenuItem(ID_MENUITEM3,MF_GRAYED);//禁用
  //ID_MENUITEM3表示子菜单的ID号,MF_GRAYED表示禁用并且为灰色

pSubMenu->EnableMenuItem(ID_MENUITEM3,MF_ENABLED);//启用

主菜单
  CMenu   *   pMenu; 
  pMenu=CMenu::FromHandle(m_hMenu1);//获得菜单栏的指针
  pMenu->EnableMenuItem(1,MF_BYPOSITION |MF_GRAYED);//禁用
  //MF_BYPOSITION表示按序列查,从0开始,因为主菜单为popup类型,没有ID编号,只能用这中方式
 
  pMenu->EnableMenuItem(1,MF_ENABLED);//启用

主菜单下的popup联级菜单(其实类似主菜单)
  CMenu   *   pMenu;
  CMenu   *   pSubMenu;
  pMenu=CMenu::FromHandle(m_hMenu1);//获得菜单栏的指针
  pSubMenu=pMenu->GetSubMenu(0);//获得主菜单序号
  pSubMenu->EnableMenuItem(1,MF_BYPOSITION |MF_GRAYED);//禁用
  //MF_BYPOSITION表示该主菜单下的第一个菜单,该菜单没有ID号,为popup类型

Visual C++ 对话框增加菜单栏的更多相关文章

  1. java在线聊天项目 swt可视化窗口Design 重新设计好友列表窗口 增加菜单栏

    增加的菜单栏效果图如下: eclipse 中调整到 swt的design视图下 控件区域选择Menu Controls 将Menu Bar拖动到窗口标题栏 将Cascaded Menu拖动到Menu ...

  2. Visual Stdio 2017增加SVN支持

    实验目的 当前公司项目源码文档等内容都保存在svn上,现在是用着小乌龟在文件浏览状态中去检出和提交等操作,没有集成到vs2017中来,比较麻烦.现在要把vs2017增加svn支持,希望可以直接在IDE ...

  3. 自定义Microsoft Visual Studio 代码模板,增加公司和个人信息

    C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\ItemTemplates\CSharp目录里面有各种新建模板分类: 修 ...

  4. jQuery查找标签--选择器,筛选器,模态对话框, 左侧菜单栏

    查找标签 选择器: 基本选择器(同css) id选择器 $("#id") 标签选择器 $('tagName') class选择器 $(".className") ...

  5. 微软Visual Studio "14" CTP 2 发布

    微软Visual Studio "14" CTP 2 发布 对于在微软阵营下进行工作的团队来说,拥有最新版本的Visual Studio是提高效率最佳的选择,没有之一. 在本文中, ...

  6. Visual Studio 2015 和 Apache Cordova 跨平台开发入门(一)

    基于 Windows 10 的 Visual Studio 2015 跨平台的应用开发主要分为基于Visual Studio 安装 Xamarin 扩展的跨Android.iOS 和 Windows的 ...

  7. 如何使用Visual Studio 2013 创建Azure云应用

    创建 Azure 云服务 Azure 云服务包括执行应用程序所需操作的角色.当你将云服务发布到 Azure 时,每个角色将在云中的虚拟机上运行.有关如何开发 Azure 云服务的详细信息. 创建 Az ...

  8. MFC 对话框不显示,返回-1 原因

    DoModal失败原因 1.MFC 通常对话框不显示的原因有 1 父窗口HWND无效 2 在ONINITDIALOG里用了ENDDIALOG 3 无效的对话框资源ID 4 使用没有注册的的自定义控件 ...

  9. Visual Studio 2015 和 Apache Cordova 跨平台开发入门

    原文:Visual Studio 2015 和 Apache Cordova 跨平台开发入门(一) 基于 Windows 10 的 Visual Studio 2015 跨平台的应用开发主要分为基于V ...

随机推荐

  1. Redis的安装、配置 --转载

    原文地址:http://blog.sina.com.cn/s/blog_505bf9af0101ehhp.html redis的安装.配置 安装步骤如下:下载redis安装包:$ cd /opt/ap ...

  2. C#数据操作LINQ

    Linq是language integrated query的缩写,即"语言集成查询"之意. Linq主要包含四个组件,Linq to object.Linq to XML.Lin ...

  3. php笔记02:整型细节说明

    1.php的一个整数可以是十进制,也可以是八进制和十六进制: 比如:$a=0123; //八进制 $a=0x1A; //十六进制 2.php的整数都是有符号的数(java也是只有有符号数) 3.在ph ...

  4. 明天参加GDG devfest

    明天就可以第二次去参加devfest了,还记得去年去的时候是个啥也听不懂的小白,希望今年能够收获更多,结识更多大牛和志同道合的伙伴.

  5. focus on these tools

    http://www.oschina.net/p/dubbo http://www.blogjava.net/hispark/archive/2008/12/01/243310.html http:/ ...

  6. 数据结构及算法分析(0)——引论

          引论提到算法递归的概念,递归在很多算法中都会出现.所谓递归,当一个函数用它自己来定义的时候就称为递归.     递归调用有两大要素: 基准情况. 递归调用.     并非所有的数学递归函数 ...

  7. 关于MANIFEST.MF的理解

    打开Java的JAR文件我们经常可以看到文件中包含着一个META-INF目录,这个目录下会有一些文件,其中必有一个MANIFEST.MF,这个文件描述了该Jar文件的很多信息. 在Java平台中, M ...

  8. css3过度和动画

    一.过度(transition) transition:[transition-property] || [transition-duration] || [transition-timing-fun ...

  9. java web项目中classes文件夹下的class和WEB-INF/lib中jar里的class文件加载顺序

    如果是发布到weblogic的话,可以在WebContent\WEB-INF\weblogic.xml里面配置.参考配置如下:<?xml version="1.0" enco ...

  10. Hive体系结构介绍

    http://www.aboutyun.com/thread-6217-1-1.html   1.Hive架构与基本组成     下面是Hive的架构图. 图1.1 Hive体系结构     Hive ...