




下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第9章菜单栏、工具栏和状态栏菜单、工具栏和状态栏是一个完善的Windows应用程序的重要组成部分。菜单、工具栏和状态栏的使用,可以使应用程序的界面友好,方便用户的使用。用户通过单击菜单中的菜单项,或单击工具栏上的工具按钮可实现应用程序中的常用功能。而状态栏主要用于显示应用程序当前的状态等信息。本章通过具体的实例讲解菜单栏、工具栏和状态栏的编程过程和实现方法。9.1菜单栏的开发菜单是Windows与用户交互的标准接口之一,Windows的大多数应用程序都提供了菜单操作。VC6.0提供了可视化开发菜单栏的方法。本节将介绍在VC6.0中如何添加菜单栏、实现菜单栏命令处理函数、如何为菜单项创建快捷键及更新菜单栏状态的方法。9.1.1添加菜单栏因为菜单栏是Windows中的标准界面控件,因此VC6.0为其添加了比较全面的开发支持。用户除了可以调用Win32API操作菜单外,还可以使用MFC为其提供的支持来操作菜单。9.1.2实现菜单项命令添加好了菜单栏和菜单项后,用户就需要添加代码来实现菜单项执行的功能。要使菜单项的单击事件与程序函数相关联9.1.3更新菜单项状态在Windows程序中,除了可以响应菜单项的命令处理外,还可以控制菜单项的状态。比如,当菜单项没有对应的处理函数时,菜单项默认是灰显的。菜单项还可以是选择状态和未选择状态。一般情况下,在MFC程序中,菜单项状态是由文档类来处理的,因为通常会将程序数据存放在文档类中,而菜单项的状态通常是由程序数据来控制的。9.1.4设置菜单项快捷键在实际的程序中,经常会希望将某个菜单项和键盘组合键关联起来,使它们能执行相同的程序功能。这就需要为菜单项设置快捷键9.2工具栏的开发工具栏是包含位图控件的控件栏。这些位图控件可以作为命令按钮、复选框按钮或者单选按钮来使用。一般情况下,工具栏是菜单栏的菜单项组合而成,但是其可以以更快捷的方式提供用户访问接口,并且工具栏可以以停靠或浮动的形式显示。本节介绍工具栏的开发方法。工具栏有很多特性与菜单栏相似,读者应该将工具栏与菜单栏进行对比学习。9.2.1添加工具栏因为工具栏是Windows中的标准界面控件,因此VC6.0为其添加了比较全面的开发支持。用户除了可以调用Win32API操作菜单外,还可以使用MFC为其提供的支持来操作菜单。9.2.2实现工具栏按钮命令添加好了工具栏和工具栏命令按钮后,用户就需要添加代码来实现命令按钮执行的功能。要使命令按钮的单击事件与程序函数相关联9.2.3更新工具栏按钮状态与菜单项相同,在Windows程序中,除了可以响应工具栏命令按钮的命令处理外,还可以控制工具栏命令按钮的状态。比如,当工具栏命令按钮没有对应的处理函数时,工具栏命令按钮默认是灰显的。工具栏命令按钮还可以是按下状态和抬起状态。一般情况下,在MFC程序中,工具栏命令按钮状态是由文档类来处理的,因为通常会将程序数据存放在文档类中,而工具栏命令按钮的状态通常是由程序数据来控制的。9.2.4停靠和浮动工具栏VC6.0中通过编程可以控制工具栏停靠还是浮动。工具栏进行停靠时,附加到其父窗体,可以停靠到父窗体的任何一边,或者从父窗体中卸载,就会显示为浮动工具栏,浮动工具栏有自己的窗体框架边。本小节讨论如何实现停靠和浮动工具栏。9.2.5动态调整工具栏在CToolBar类的Create()函数中,可以指定工具栏的各种创建样式。Create()函数原型为:BOOLCreate(CWnd*pParentWnd,DWORDdwStyle=WS_CHILD|WS_VISIBLE|CBRS_TOP,UINTnID=AFX_IDW_TOOLBAR);9.3状态栏的开发状态栏是具有一个或多个面板的控件栏。每个面板上既可以包含文本也可以包含位图。用户可以使用状态面板显示不同种类的状态信息,例如命令描述、当前时间、页码和功能键的状态等信息。本节介绍状态栏的开发,主要包括状态栏的创建、在状态栏中显示信息、更新状态栏面板信息、实现对话框栏等功能。9.3.1使用状态栏VC6.0的MFC提供了CStatusBar类来实现状态栏的各种功能。状态栏就是一行文本输出面板或指示符。输出面板通常作为消息行和状态指示符。默认情况下,使用应用向导生成的程序中的状态栏主要是用来显示菜单的帮助消息行,来解释用户选择的菜单命令的功能,或者指示SCROLLLOCK键、NUMLOCK键和其他键的状态。9.3.2在状态栏中显示命令信息当用户使用应用向导创建应用程序时,则用户可以很容易的就实现状态栏的功能。当用户在创建程序时,选择了支持状态栏功能时,框架会自动的提供帮助功能,当用户鼠标滑过菜单项时,框架会自动将菜单项的“prompt”文本框中的内容显示在状态栏上。9.3.3创建状态栏面板除了使用系统定义的状态栏面板内容外,用户完全可以根据自己的需要添加不同的面板项,向其中添加自定义内容。添加内容的第一步就是创建状态栏面板9.3.4在状态栏面板上显示信息创建了状态栏面板后,就需要在状态栏面板上显示信息,首先需要为状态栏面板增加命令更新处理函数。VC6.0不支持使用类向导为状态栏面板添加处理函数,因此,用户必须手动为状态栏面板增加处理函数。9.3.5更新状态栏面板信息上一小节介绍在状态栏面板上显示信息的方法,本小节介绍如何更新状态栏面板信息。9.3.6实现对话框栏除了菜单栏、工具栏和状态栏外,Windows程序中还一种常用的用作界面元素的控件栏,即对话框栏。对话框栏是基于对话框资源
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 血液特快配送行业绿色可持续发展策略报告
- 2026届江苏省连云港市海州区新海实验中学物理八上期末复习检测模拟试题含解析
- 2026届安徽省亳州市八年级物理第一学期期末检测试题含解析
- 2026届甘肃省白银市名校八年级物理第一学期期末考试试题含解析
- 2026届湖北省黄石市汪仁中学物理八上期末经典试题含解析
- 2026届山东省曲阜师范大附属实验学校物理八上期末综合测试模拟试题含解析
- 2026届山西省洪洞县八年级物理第一学期期末检测模拟试题含解析
- 2026届山东省安丘市红沙沟镇红沙沟中学物理八上期末学业质量监测试题含解析
- 山东菏泽郓城2026届物理八上期末质量检测模拟试题含解析
- 2026届浙江杭州余杭区物理八年级第一学期期末质量跟踪监视模拟试题含解析
- 卫生院常见护理常规
- 2025年全国矿山安全生产事故情况
- 2024年北京市西城区第十五中学七上数学期末检测模拟试题含解析
- 2025年环境监测试验检测人员培训计划
- 市政项目成本测算手册2023版
- 中华人民共和国监察法2025修订版实施条例试卷试题含答案
- 皮肤激光设备管理制度
- Unit 1 Happy Holiday 第1课时(Section A 1a-1d) 2025-2026学年人教版英语八年级下册
- Q-SY 13034-2024 物料主数据数字化描述规范
- 外墙工程维修协议书
- 2025年中国船舶代理项目投资可行性研究报告
评论
0/150
提交评论