欢迎来到天天文库
浏览记录
ID:52688821
大小:549.30 KB
页数:18页
时间:2020-02-06
《轻松学Visual C++之菜单.pptx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第6章菜单菜单栏是构成Windows应用程序界面的主要元素之一。大多数应用程序都提供菜单栏的操作。菜单栏集中了一个应用程序所有潜在的功能和操作,使软件具有很强的可操作性。本章主要介绍菜单的命令响应、基本操作、动态创建等内容。6.1构建菜单上一章介绍为对话框中各控件添加消息响应函数。因为来自菜单、加速键、工具栏按钮的消息是以WM_COMMAND呈现的,所以我们称之为命令消息。这一节主要介绍命令消息响应函数和命令消息在各类中的响应顺序。6.1.1菜单的构成菜单总体来说是由顶层菜单、子菜单还有菜单项构成。顶层菜单通常为
2、子菜单形式,子菜单即为弹出式菜单。弹出式菜单不能响应单击命令,只有子菜单中的菜单项才能为其添加命令消息响应函数。菜单的大体构成,如下图所示。6.1.2为对话框程序添加菜单资源创建一个名为Test1的对话框应用程序,并为其添加菜单资源。添加的菜单资源和应用程序还无任何关联,需要在对话框属性中进行关联。6.1.3添加子菜单利用VC++可视化集成开发环境可以很方便的创建为菜单资源添加子菜单项。6.2基本的菜单操作虽然菜单看起来似乎很简单,但涉及到的操作还是很多的。这一节就菜单编程中常用到的一些操作做简要介绍。6.2.1
3、标记菜单标记菜单用来表示某项操作被选中,菜单项前用对号标示,下图为“我的电脑”中“查看”子菜单中的标记菜单。6.2.2分隔栏和默认菜单项在使用一些软件时,发现有的菜单项是以粗体形式显示的,我们称这种菜单为默认菜单项。分隔栏在菜单项中十分常见,几乎带有菜单的软件都具有分隔栏。打开VC++6.0中Project子菜单,就可以看到两个分隔栏,如下图所示。6.2.3菜单项的禁用菜单项的禁用在菜单中也很常见,被禁用的菜单项一般呈灰色显示。在下图中所示,是VC++6.0中Insert子菜单下被禁用的菜单项。6.2.4图形标记
4、菜单图形标记菜单的出现让菜单的显示不再那么枯燥古板,现在随处可见图形标记的菜单,在下图中为VC++6.0中File子菜单下的图形标记菜单。6.2.5隐藏菜单在程序中,如果想隐藏菜单可以利用CWnd类中的提供的方法SetMenu()来实现。该方法的使用非常简单,下面例子会展示SetMenu()方法具体怎样使用。我们要通过一个Button按钮,来实现菜单的隐藏和显示功能。6.2.6添加右键菜单Windows系统中右键菜单无处不在,最典型的就是在桌面单击右键,然后进行刷新。文件的拷贝粘贴都会用到右键菜单。这一小节我们将
5、在对话框程序中添加一个右键菜单。6.3动态菜单操作在程序运行期间,或许会根据用户需要来添加、插入、删除子菜单或菜单项。这时候就需要对菜单进行动态操作。这一节就菜单项的添加、插入、删除进行简要介绍。6.3.1添加子菜单项创建一个项目名为Test3的新对话框程序,按照6.1节所述方法为其添加一个菜单资源,并和对话框进行关联。为菜单添加两个子菜单“文件”、“编辑”,再为子菜单添加一些菜单项,ID可自己起名字。6.3.2插入子菜单项下面我们将实现在“文件”和“编辑”子菜单中插入“查看”子菜单项。6.3.3删除子菜单项删除
6、子菜单项相比添加和插入要简单一些。在没有添加“查看”子菜单的情况下,实现删除“编辑”子菜单。6.3.4动态添加菜单项命令消息响应函数利用资源管理器可视化添加的子菜单和菜单项资源,可以利用ClassWizard为其添加命令消息响应函数。动态添加的菜单项资源,无法在ClassWizard中为其添加命令响应函数,所以需要手工为其添加响应的代码。6.4小结本章主要介绍了利用资源管理器添加菜单和菜单项、用ClassWizard为菜单项添加命令消息响应函数、菜单的基本操作和菜单的动态操作等内容。添加菜单和命令消息响应函数,并
7、能够熟练为程序添加菜单项和菜单的基本操作是本章重点内容。难点是菜单的基本操作和动态操作中用到的一些方法和注意事项。最后还是希望大家能习惯和熟练查阅MSDN。
此文档下载收益归作者所有