C++菜单、工具栏和状态栏.ppt

C++菜单、工具栏和状态栏.ppt

ID:58386447

大小:70.00 KB

页数:19页

时间:2020-09-07

C++菜单、工具栏和状态栏.ppt_第1页
C++菜单、工具栏和状态栏.ppt_第2页
C++菜单、工具栏和状态栏.ppt_第3页
C++菜单、工具栏和状态栏.ppt_第4页
C++菜单、工具栏和状态栏.ppt_第5页
资源描述:

《C++菜单、工具栏和状态栏.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第6章菜单、工具栏和状态栏本章要点:菜单的实现机制和创建过程。普通下拉菜单和上下文菜单的创建。工具栏的创建和消息处理过程。状态栏的使用。6.1菜单及加速键的使用菜单为所有的Windows应用程序提供了一致的接口方式,可使用户直观地了解并方便地使用应用程序所提供的各项功能,是Windows资源中最重要的资源之一。使用加速键可使菜单的操作更灵活快捷,两种资源往往密不可分,菜单通常由以下部分组成:(1)窗口主菜单栏(位于窗口的标题栏下方,其菜单项通常为下拉式菜单);(2)下拉式菜单框;(3)菜单项热键标识;(4)菜单项加速键标识;(5)菜单项分隔线。此外

2、,菜单项前常有选中标志以标识其是否被选中。6.1.1菜单概述1.菜单及加速键菜单作为Windows图形用户界面中窗口的重要组成部分,可以方便地操作应用程序。Windows中的菜单主要分为两种:一种是附着在框架窗口和对话框的菜单条上的下拉菜单,另一种是弹出式的上下文菜单。菜单是应用程序中最常见的元素。大量命令的调用都是通过选择菜单实现的。在使用AppWizard生成SDI或MDI应用程序框架时,AppWizard将自动生成标准的应用框架菜单资源(IDR_MAINFRAME)和菜单处理函数代码。为了满足实际需要,有时需要对默认菜单进行修改。6.1.1菜

3、单概述2.CMenu类菜单类(CMenu类)提供了许多处理菜单和菜单项的方法,这些方法分别是菜单构造方法、菜单操作方法、菜单项操作方法和虚拟方法等。可以通过下列三种方法获得指向CMenu对象的指针:(1)利用CWnd::GetMenu()函数获取指向指定菜单的指针。(2)利用CWnd::GetSystemMenu()函数获取指向系统菜单的指针。(3)利用CMenu::LoadMenu()函数从应用程序的可执行文件装载菜单资源,并将它连接到CMenu对象上。6.1.1菜单概述在获得菜单指针之后,就可以利用CMenu成员函数在运行时动态修改菜单(用户利

4、用资源编辑器只能静态修改菜单资源)。CMenu类的成员函数AppendMenu()、InsertMenu()、ModifyMenu()和RemoveMenu()分别用于添加、插入、修改和删除指定菜单项。标识菜单项的方法有两种:一是用ID,二是用位置索引。如果菜单由弹出式菜单构成,则通过成员函数GetSubMenu()获取该菜单的一个弹出式菜单的CMenu对象。成员函数TracePopupMenu()在一个POINT结构指定的位置显示一个浮动的弹出式菜单,并跟踪该菜单上的选择操作。浮动的弹出式菜单可以出现在屏幕上的任何地方。6.1.2菜单消息及消息映

5、射在MFC消息映射中,包含两个菜单消息:WM_COMMAND和UPDATE_COMMAND_UI。(1)WM_COMMAND消息。当用户选中了某个菜单项,激活菜单的加速键或选中了相应的工具栏按钮时,会发出消息标识符为WM_COMMAND的命令消息。其消息映射为ON_COMMAND,ON_COMMAND消息映射的映射方式是:ON_COMMAND(菜单项的标识ID,消息处理函数)(2)UPDATE_COMMAND_UI消息。UPDATE_COMMAND_UI是MFC所特有的,应用程序不一定要处理该消息,如果用户想根据应用程序的当前状态对菜单项进行激活、

6、使菜单项无效,或给菜单项添加被选中标记等操作,要添加该消息6.1.3上下文菜单Windows的一个重要特征是鼠标右键功能。当用户单击鼠标右键时,系统会弹出一个浮动菜单(称为上下文菜单)供用户选择。通过该菜单,用户可以方便、快捷地进行一些操作。应用程序在响应弹出鼠标右键消息时,调用LoadMenu()函数装载菜单资源,然后调用GetSubMenu()成员函数获取指向弹出式菜单的CMenu指针,最后调用TrackPopupMenu()成员函数显示该浮动弹出式菜单,并跟踪用户的选择。6.1.5改变菜单的显示状态有时候,需要根据应用程序的内部状态来对菜单项

7、作相应的改变。例如,假设在应用程序的Edit菜单中有一个Paste选项。当没有什么东西可粘贴时,Paste就应当是无效状态。又如,为了标识系统正处于何种状态,可对菜单项进行标记;为了提示用户,应当将菜单项置为高亮度等。为了使应用程序的状态与菜单项保持同步,可以采用MFC提供的方法。即每当弹出式菜单第一次显示时,都会发送特殊的更新命令UI消息,该消息通常传递给与菜单项相联系的相应对象。通过编辑与菜单项相联系的UPDATE_COMMAND_UI消息所映射的函数即可完成对菜单项状态的设置。此外,还可以用CMenu::GheckMenuItem()和Ena

8、bleMenuItem()进行处理。6.2工具栏的使用6.2.1工具栏概述工具栏是一系列工具按钮的组合,借助它们可以提高用

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。