欢迎来到天天文库
浏览记录
ID:52373560
大小:478.56 KB
页数:16页
时间:2020-04-05
《《菜单和框架窗口》PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第9讲:菜单和框架窗口课程内容安排Windows应用程序的框架窗口Windows菜单和MFC菜单编辑器Windows应用程序的快捷键命令处理的使用复文本编辑实例讲解属性表的开发过程课程内容安排CPersistentFrame持续信息类的使用使用ActivateFrame()成员函数设置窗口尺寸和位置创建窗口之前的工作:PreCreateWindow成员函数控制栏状态和Windows注册表MDI应用程序和持续框架Windows应用程序的框架窗口主框架窗口包含标题栏和菜单栏,而各种各样的子窗口,其中包括工具栏、状
2、态栏窗口和视图窗口,则占据着主窗口的整个客户区域。应用程序就是通过框架和视图之间的消息传递来控制框架和视图之间的相互作用的。Windows菜单和MFC菜单编辑器菜单是Windows程序设计中一项重要的界面元素。通常,开发者可以为主窗口定义一个默认的菜单资源,当应用程序创建窗口时,该默认的菜单会被自动装入。也可以定义一个与窗口无关的菜单资源,当调用一些消息函数时,可以自动调入,如鼠标右键的浮动菜单。VC6.0提供了一个强大的菜单资源编辑器,通过这个菜单资源编辑器,开发者可以灵活地开发各种各样的菜单,并且可以编辑
3、菜单的属性等。Windows应用程序的快捷键键盘加速键的编辑是在资源编辑框中的键盘加速键资源中命令处理的使用MFC应用程序框架中,大多数命令消息都来自于应用程序框架,但应用程序框架并没有对这些消息进行处理,因此开发者要自主添加消息处理函数并且在消息处理函数的实现方面做一些工作。当应用程序接收到一个框架窗口命令时,按照以下的顺序进行寻找相应的消息控制函数:(1)视图。(2)文档。(3)MDI子框架窗口。(4)MDI主框架窗口。(5)应用程序。复文本编辑Windows有两种文本编辑控件:普通的编辑控件和复文本编辑
4、通用控件。MFC提供了CEditView类和CRichEditView类,以支持复文本的功能。编辑视图类:CEditView类复文本编辑视图类:CRichEditView类复文本编辑控件类:CRichEditCtrl类实例讲解实例9.1-快捷键和文本编辑使用属性表的开发过程选项卡对话框形式的属性表创建过程的步骤一般是:(1)创建若干个对话框,用于制作选项卡的子对话框。虽然对话框的大小没有限制,不过为了方便起见,最好在尺寸上不要差别太大。(2)使用ClassWizard为每个对话框生成一个类,这些类可以取类似的
5、名字以表示这些子对话框相互之间的关系,并且,这些类的基类都是CPropertyPage类。(3)生成CPropertySheet类的派生类,并将子对话框类的对象添加到该类中。(4)使用Domal()函数生成属性表的对话框。(5)添加Apply按钮的消息处理函数。鼠标右键调用的浮动快捷菜单Windows菜单主要包括两类:(1)顶层菜单:该菜单就是主框架窗口的顶级菜单,这个是前文常见的一种菜单。(2)弹出式菜单:这个前文虽然没有提及,不过相信读者在使用各种应用软件时,都使用过弹出菜单,如鼠标右键弹出的菜单列表。使
6、用弹出式的菜单实质上就是通过获取了一个指向某菜单的指针来进行显示CPersistentFrame持续信息类的使用CPersistentFrame类能够记住以下的特性:(1)窗口尺寸(2)窗口位置(3)最大化状态(4)最小化状态(5)工具栏和状态栏是否处于允许状态以及它们的位置一切C++的类对象实际上也只能在内存中运行,它是怎么做到记忆的功能的呢?原因在于,当用户关闭又CPersistentFrame类创建的应用程序时,上述信息将会倍保存在Windows操作系统的注册表里面,而Windows的注册表是存放在磁盘
7、中的,因此就达到了记忆的效果。使用ActivateFrame()成员函数设置窗口尺寸和位置在一个MFC的单文档应用程序中,主框架窗口是视图窗口的“父窗口”,父窗口的创建是先于子窗口的,改变框架窗口尺寸的关键在于CFrameWnd类的ActivateFrame成员函数。如果使用对派生类中的ActivateFrame成员函数进行重载,开发者就可以调用CWnd::SetWindowPlacement函数来设置框架窗口的位置和尺寸,也可以设置控制栏的可视状态,而这些工作都是在框架窗口被显示之前完成的。PreCreat
8、eWindow成员函数PreCreateWindow成员函数视在CWnd类层次上声明的,这个函数是提供给开发者在窗口显示之前可以重写的一个虚拟函数,而应用程序框架在调用ActivateFrame成员函数函数之前必须调用PreCreateWindow成员函数。该函数有一个CREATESTRUCT结构作为参数,该结构有两个数据成员:style:风格,如决定窗口是否有边界、是否具有滚动条和是否具有最小化框
此文档下载收益归作者所有