轻松学Visual C++之菜单_第1页
轻松学Visual C++之菜单_第2页
轻松学Visual C++之菜单_第3页
轻松学Visual C++之菜单_第4页
轻松学Visual C++之菜单_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第6章菜单,菜单栏是构成Windows应用程序界面的主要元素之一。大多数应用程序都提供菜单栏的操作。菜单栏集中了一个应用程序所有潜在的功能和操作,使软件具有很强的可操作性。本章主要介绍菜单的命令响应、基本操作、动态创建等内容。,6.1构建菜单,上一章介绍为对话框中各控件添加消息响应函数。因为来自菜单、加速键、工具栏按钮的消息是以WM_COMMAND呈现的,所以我们称之为命令消息。这一节主要介绍命令消息响应函数和命令消息在各类中的响应顺序。,6.1.1菜单的构成,菜单总体来说是由顶层菜单、子菜单还有菜单项构成。顶层菜单通常为子菜单形式,子菜单即为弹出式菜单。弹出式菜单不能响应单击命令,只有子菜单

2、中的菜单项才能为其添加命令消息响应函数。菜单的大体构成,如下图所示。,6.1.2为对话框程序添加菜单资源,创建一个名为Test1的对话框应用程序,并为其添加菜单资源。添加的菜单资源和应用程序还无任何关联,需要在对话框属性中进行关联。,6.1.3添加子菜单,利用VC+可视化集成开发环境可以很方便的创建为菜单资源添加子菜单项。,6.2基本的菜单操作,虽然菜单看起来似乎很简单,但涉及到的操作还是很多的。这一节就菜单编程中常用到的一些操作做简要介绍。,6.2.1标记菜单,标记菜单用来表示某项操作被选中,菜单项前用对号标示,下图为“我的电脑”中“查看”子菜单中的标记菜单。,6.2.2分隔栏和默认菜单项,

3、在使用一些软件时,发现有的菜单项是以粗体形式显示的,我们称这种菜单为默认菜单项。分隔栏在菜单项中十分常见,几乎带有菜单的软件都具有分隔栏。打开VC+6.0中Project子菜单,就可以看到两个分隔栏,如下图所示。,6.2.3菜单项的禁用,菜单项的禁用在菜单中也很常见,被禁用的菜单项一般呈灰色显示。在下图中所示,是VC+6.0中Insert子菜单下被禁用的菜单项。,6.2.4图形标记菜单,图形标记菜单的出现让菜单的显示不再那么枯燥古板,现在随处可见图形标记的菜单,在下图中为VC+6.0中File子菜单下的图形标记菜单。,6.2.5隐藏菜单,在程序中,如果想隐藏菜单可以利用CWnd类中的提供的方法

4、SetMenu()来实现。该方法的使用非常简单,下面例子会展示SetMenu()方法具体怎样使用。我们要通过一个Button按钮,来实现菜单的隐藏和显示功能。,6.2.6添加右键菜单,Windows系统中右键菜单无处不在,最典型的就是在桌面单击右键,然后进行刷新。文件的拷贝粘贴都会用到右键菜单。这一小节我们将在对话框程序中添加一个右键菜单。,6.3动态菜单操作,在程序运行期间,或许会根据用户需要来添加、插入、删除子菜单或菜单项。这时候就需要对菜单进行动态操作。这一节就菜单项的添加、插入、删除进行简要介绍。,6.3.1添加子菜单项,创建一个项目名为Test3的新对话框程序,按照6.1节所述方法为

5、其添加一个菜单资源,并和对话框进行关联。为菜单添加两个子菜单“文件”、“编辑”,再为子菜单添加一些菜单项,ID可自己起名字。,6.3.2插入子菜单项,下面我们将实现在“文件”和“编辑”子菜单中插入“查看”子菜单项。,6.3.3删除子菜单项,删除子菜单项相比添加和插入要简单一些。在没有添加“查看”子菜单的情况下,实现删除“编辑”子菜单。,6.3.4动态添加菜单项命令消息响应函数,利用资源管理器可视化添加的子菜单和菜单项资源,可以利用ClassWizard为其添加命令消息响应函数。动态添加的菜单项资源,无法在ClassWizard中为其添加命令响应函数,所以需要手工为其添加响应的代码。,6.4小结,本章主要介绍了利用资源管理器添加菜单和菜单项、用ClassWizard为菜单项添加命令消息响应函数、菜单的基本操作和菜单的动态操作等内容。添加菜单和命令消息响应

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论