码迷,mamicode.com
首页 > 其他好文 > 详细

第八课——菜单、工具栏和状态栏

时间:2017-12-02 19:08:56      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:处理   mfc   资源   状态   append   选项   子菜单   text   ack   

一、菜单

1. 关键点

  • 菜单系统设计的规则:菜单项文本的格式、助记符等
  • 符号&:用来指定后面的字符是一个助记符
  • 顶层菜单:可以是一个简单的菜单命令,也可以是下拉菜单
  • 用菜单编辑器添加和修改菜单项
  • CMenu类:用来处理菜单的一个MFC类

2. 切换应用程序菜单

 效果:在两个菜单资源间切换

 为CMainFrame类添加一个CMenu类型的成员变量m_NewMenu

 两个CMenu成员函数的妙用:Detach、LoadMenu

  • Detach:使菜单对象与菜单句柄分离
  • LoadMenu:装载菜单资源,若菜单对象的句柄已经创建,则会发生运行时错误
  • CWnd类的成员函数SetMenu:设置应用程序的菜单

3. 使用键盘快捷键

 效果:为上面两个菜单(资源)定义键盘快捷键,使菜单项和快捷键联用

  • 在“ResourceView选项卡”→双击Accelerator结点→双击加速键列表的最下端的空行

4. 菜单的编程控制

  • 需求性分析:让用户自己定制菜单,所谓编程控制,即在程序中进行控制
  • 程序运行时处理有关菜单的操作:创建菜单、装入菜单、删除菜单项、设置菜单项的状态等

上面的这些操作都可以用MFC菜单类CMenu来实现,举例:

  • CMenu类的CreateMenu和CreatePopupMenu函数分别用来创建一个菜单或子菜单框架
  • CMenu类的LoadMenu函数可将菜单资源装入应用程序中
  • CMenu类的AppendMenu或InsertMenu函数可添加一些菜单项
  • 还有许多函数,譬如重新设置应用程序菜单、删除指定的菜单项等等。

5. 使用快捷菜单

  快捷菜单实现函数:CMenu::TrackPopupMenu

  使用上面的函数可以创建快捷菜单

  右击会发送WM_CONTEXTMENU通知消息,故快捷菜单是通过其映射函数实现的

 

二、工具栏

第八课——菜单、工具栏和状态栏

标签:处理   mfc   资源   状态   append   选项   子菜单   text   ack   

原文地址:http://www.cnblogs.com/xzxl/p/7954842.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!