《菜单和框架窗口》PPT课件.ppt

上传人:工**** 文档编号:570993225 上传时间:2024-08-07 格式:PPT 页数:16 大小:478.56KB
返回 下载 相关 举报
《菜单和框架窗口》PPT课件.ppt_第1页
第1页 / 共16页
《菜单和框架窗口》PPT课件.ppt_第2页
第2页 / 共16页
《菜单和框架窗口》PPT课件.ppt_第3页
第3页 / 共16页
《菜单和框架窗口》PPT课件.ppt_第4页
第4页 / 共16页
《菜单和框架窗口》PPT课件.ppt_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《《菜单和框架窗口》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《菜单和框架窗口》PPT课件.ppt(16页珍藏版)》请在金锄头文库上搜索。

1、联系方式:北京源智天下科技有限公司第第9讲:菜单和框架窗口讲:菜单和框架窗口 1-2北京源智天下科技有限公司联系方式:课程内容安排课程内容安排Windows应用程序的框架窗口应用程序的框架窗口Windows菜单和菜单和MFC菜单编辑器菜单编辑器Windows应用程序的快捷键应用程序的快捷键 命令处理的使用命令处理的使用复文本编辑复文本编辑实例讲解实例讲解属性表的开发过程属性表的开发过程1-3北京源智天下科技有限公司联系方式:课程内容安排课程内容安排CPersistentFrame持续信息类的使用持续信息类的使用 使用使用ActivateFrame()成员函数设置窗口尺寸和位置成员函数设置窗口尺

2、寸和位置 创建窗口之前的工作:创建窗口之前的工作:PreCreateWindow成员函数成员函数控制栏状态和控制栏状态和Windows注册表注册表MDI应用程序和持续框架应用程序和持续框架 1-4北京源智天下科技有限公司联系方式:Windows应用程序的框架窗口应用程序的框架窗口主框架窗口包含标题栏和菜单栏,而各种各样的子窗口,其中包括工具栏、主框架窗口包含标题栏和菜单栏,而各种各样的子窗口,其中包括工具栏、状态栏窗口和视图窗口,则占据着主窗口的整个客户区域。应用程序就是状态栏窗口和视图窗口,则占据着主窗口的整个客户区域。应用程序就是通过框架和视图之间的消息传递来控制框架和视图之间的相互作用的

3、。通过框架和视图之间的消息传递来控制框架和视图之间的相互作用的。 1-5北京源智天下科技有限公司联系方式:Windows菜单和菜单和MFC菜单编辑器菜单编辑器 菜单是菜单是Windows程序设计中一项重要的界面元素。通常,开发者程序设计中一项重要的界面元素。通常,开发者可以为主窗口定义一个默认的菜单资源,当应用程序创建窗口时,该可以为主窗口定义一个默认的菜单资源,当应用程序创建窗口时,该默认的菜单会被自动装入。也可以定义一个与窗口无关的菜单资源,默认的菜单会被自动装入。也可以定义一个与窗口无关的菜单资源,当调用一些消息函数时,可以自动调入,如鼠标右键的浮动菜单。当调用一些消息函数时,可以自动调

4、入,如鼠标右键的浮动菜单。 VC6.0提供了一个强大的菜单资源编辑器,通过这个菜单资源编提供了一个强大的菜单资源编辑器,通过这个菜单资源编辑器,开发者可以灵活地开发各种各样的菜单,并且可以编辑菜单的辑器,开发者可以灵活地开发各种各样的菜单,并且可以编辑菜单的属性等。属性等。 1-6北京源智天下科技有限公司联系方式:Windows应用程序的快捷键应用程序的快捷键键盘加速键的编辑是在资源编辑框中的键盘加速键资源中键盘加速键的编辑是在资源编辑框中的键盘加速键资源中 1-7北京源智天下科技有限公司联系方式:命令处理的使用命令处理的使用 MFC应用程序框架中,大多数命令消息都来自于应用程应用程序框架中,

5、大多数命令消息都来自于应用程序框架,但应用程序框架并没有对这些消息进行处理,因此开序框架,但应用程序框架并没有对这些消息进行处理,因此开发者要自主添加消息处理函数并且在消息处理函数的实现方面发者要自主添加消息处理函数并且在消息处理函数的实现方面做一些工作。做一些工作。 当应用程序接收到一个框架窗口命令时,按照以下的顺序当应用程序接收到一个框架窗口命令时,按照以下的顺序进行寻找相应的消息控制函数:进行寻找相应的消息控制函数:(1)视图。)视图。(2)文档。)文档。(3)MDI子框架窗口。子框架窗口。(4)MDI主框架窗口。主框架窗口。(5)应用程序。)应用程序。 1-8北京源智天下科技有限公司联

6、系方式:复文本编辑复文本编辑 Windows有两种文本编辑控件:普通的编辑控件和复文本编辑有两种文本编辑控件:普通的编辑控件和复文本编辑通用控件。通用控件。MFC提供了提供了CEditView类和类和CRichEditView类,以支持类,以支持复文本的功能。复文本的功能。 编辑视图类:编辑视图类:CEditView类类复文本编辑视图类:复文本编辑视图类:CRichEditView类类 复文本编辑控件类:复文本编辑控件类:CRichEditCtrl类类 1-9北京源智天下科技有限公司联系方式:实例讲解实例实例9.1快捷键和文本编辑使用快捷键和文本编辑使用 1-10北京源智天下科技有限公司联系方

7、式:属性表的开发过程 选项卡对话框形式的属性表创建过程的步骤一般是:选项卡对话框形式的属性表创建过程的步骤一般是:(1)创建若干个对话框,用于制作选项卡的子对话框。虽然对话框的)创建若干个对话框,用于制作选项卡的子对话框。虽然对话框的大小没有限制,不过为了方便起见,最好在尺寸上不要差别太大。大小没有限制,不过为了方便起见,最好在尺寸上不要差别太大。(2)使用)使用ClassWizard为每个对话框生成一个类,这些类可以取类似为每个对话框生成一个类,这些类可以取类似的名字以表示这些子对话框相互之间的关系,并且,这些类的基类都是的名字以表示这些子对话框相互之间的关系,并且,这些类的基类都是CPro

8、pertyPage类。类。(3)生成)生成CPropertySheet类的派生类,并将子对话框类的对象添加到类的派生类,并将子对话框类的对象添加到该类中。该类中。(4)使用)使用Domal()函数生成属性表的对话框。函数生成属性表的对话框。(5)添加)添加Apply按钮的消息处理函数。按钮的消息处理函数。1-11北京源智天下科技有限公司联系方式:鼠标右键调用的浮动快捷菜单鼠标右键调用的浮动快捷菜单 Windows菜单主要包括两类:菜单主要包括两类:(1)顶层菜单:该菜单就是主框架窗口的顶级菜单,这个是前文)顶层菜单:该菜单就是主框架窗口的顶级菜单,这个是前文常见的一种菜单。常见的一种菜单。(2

9、) 弹出式菜单:这个前文虽然没有提及,不过相信读者在使用弹出式菜单:这个前文虽然没有提及,不过相信读者在使用各种应用软件时,都使用过弹出菜单,如鼠标右键弹出的菜单列表。各种应用软件时,都使用过弹出菜单,如鼠标右键弹出的菜单列表。 使用弹出式的菜单实质上就是通过获取了一个指向某菜单的指使用弹出式的菜单实质上就是通过获取了一个指向某菜单的指针来进行显示针来进行显示 1-12北京源智天下科技有限公司联系方式:CPersistentFrame持续信息类的使用持续信息类的使用 CPersistentFrame类能够记住以下的特性:类能够记住以下的特性:(1)窗口尺寸)窗口尺寸(2)窗口位置)窗口位置(3

10、)最大化状态)最大化状态(4)最小化状态)最小化状态(5)工具栏和状态栏是否处于允许状态以及它们的位置)工具栏和状态栏是否处于允许状态以及它们的位置 一切一切C+的类对象实际上也只能在内存中运行,它是怎么做到记忆的功的类对象实际上也只能在内存中运行,它是怎么做到记忆的功能的呢?原因在于,当用户关闭又能的呢?原因在于,当用户关闭又CPersistentFrame类创建的应用程序时,类创建的应用程序时,上述信息将会倍保存在上述信息将会倍保存在Windows操作系统的注册表里面,而操作系统的注册表里面,而Windows的注册的注册表是存放在磁盘中的,因此就达到了记忆的效果。表是存放在磁盘中的,因此就

11、达到了记忆的效果。 1-13北京源智天下科技有限公司联系方式:使用使用ActivateFrame()成员函数设置窗口尺寸和位置成员函数设置窗口尺寸和位置 在一个在一个MFC的单文档应用程序中,主框架窗口是视图窗口的的单文档应用程序中,主框架窗口是视图窗口的“父窗口父窗口”,父窗口的创建是先于子窗口的,改变框架窗口尺寸的关,父窗口的创建是先于子窗口的,改变框架窗口尺寸的关键在于键在于CFrameWnd类的类的ActivateFrame成员函数。成员函数。 如果使用对派生类中的如果使用对派生类中的ActivateFrame成员函数进行重载,开成员函数进行重载,开发者就可以调用发者就可以调用CWnd

12、:SetWindowPlacement函数来设置框架窗函数来设置框架窗口的位置和尺寸,也可以设置控制栏的可视状态,而这些工作都是口的位置和尺寸,也可以设置控制栏的可视状态,而这些工作都是在框架窗口被显示之前完成的。在框架窗口被显示之前完成的。 1-14北京源智天下科技有限公司联系方式:PreCreateWindow成员函数成员函数 PreCreateWindow成员函数视在成员函数视在CWnd类层次上声明的,这个类层次上声明的,这个函数是提供给开发者在窗口显示之前可以重写的一个虚拟函数,而函数是提供给开发者在窗口显示之前可以重写的一个虚拟函数,而应用程序框架在调用应用程序框架在调用Activa

13、teFrame成员函数函数之前必须调用成员函数函数之前必须调用PreCreateWindow成员函数。成员函数。 该函数有一个该函数有一个CREATESTRUCT结构作为参数,该结构有两个结构作为参数,该结构有两个数据成员:数据成员: style:风格,如决定窗口是否有边界、是否具有滚动条和是否:风格,如决定窗口是否有边界、是否具有滚动条和是否具有最小化框等。具有最小化框等。 dwExStyle:扩展的风格,一些扩展的风格,如视图总在最前:扩展的风格,一些扩展的风格,如视图总在最前面等。面等。 1-15北京源智天下科技有限公司联系方式:控制栏状态和控制栏状态和Windows注册表注册表 Win

14、dows注册表实际就是一组系统文件,是一种层次数注册表实际就是一组系统文件,是一种层次数据库,由据库,由Windows操作系统管理,让操作系统管理,让Windows系统和其他应系统和其他应用软件可以在注册表中保存一些永久信息。用软件可以在注册表中保存一些永久信息。 MFC库提供了两个库提供了两个CFrameWnd成员函数:成员函数:(1)SaveBarState():存储状态栏信息。:存储状态栏信息。(2)LoadBarState():加载状态栏信息。:加载状态栏信息。 以上的两个函数可以处理应用程序的状态栏和贴边工具栏的以上的两个函数可以处理应用程序的状态栏和贴边工具栏的大小和位置。大小和位

15、置。 1-16北京源智天下科技有限公司联系方式:MDI应用程序和持续框架应用程序和持续框架 CPersistentFrame类并不适用于类并不适用于MDI(多文档)应用程序,(多文档)应用程序,因为因为MDI主框架窗口中的主框架窗口中的ShowWindow函数是由应用程序类函数是由应用程序类的的InitInstance成员函数来调用,而没有用到成员函数来调用,而没有用到ActivateFrame虚函数来进行调用。虚函数来进行调用。MDI应用程序的持续状态信息也可以通过保存在注册表中,然应用程序的持续状态信息也可以通过保存在注册表中,然后到下次读取时,再通过读取注册表的信息来进行记忆。后到下次读取时,再通过读取注册表的信息来进行记忆。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号