C++程序设计语言揣锦华 第11章Visual C++环境下Windows 2

上传人:美*** 文档编号:243144090 上传时间:2024-09-16 格式:PPT 页数:26 大小:2.61MB
返回 下载 相关 举报
C++程序设计语言揣锦华 第11章Visual C++环境下Windows 2_第1页
第1页 / 共26页
C++程序设计语言揣锦华 第11章Visual C++环境下Windows 2_第2页
第2页 / 共26页
C++程序设计语言揣锦华 第11章Visual C++环境下Windows 2_第3页
第3页 / 共26页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,*,Windows,程序要处理的消息种类如下:,Windows,消息。该类消息以,WM_,开头(,WM_COMMAND,例外),通常由窗口和视图来处理。这些消息常常带有参数,用于决定处理该消息的方式。, 由控件和其它子窗口发送给父窗口的,WM_COMMAND,消息。这些消息中包括,EN_CHANGE,通知码。如当用户在编辑框中键入文本或进行修改时,就会向系统发送一个带,EN_CHANGE,通知码的,WM_COMMAND,消息。, 来自于用户界面对象的,WM_COMMAND,消息。这些用户界面对象包括菜单、工具栏按钮和快捷键。,11.3 MFC,基 础,11.3.1 MFC,类库简介,类库是一个可以在应用程序中使用的相互关联的,C+,类的集合。与一般类库不同,,MFC,是一个,Windows,应用程序框架,它定义了应用程序的结构并实现了标准的用户接口。,MFC,提供了管理窗口、菜单、对话框的代码,可实现基本的输入输出和数据存储。,MFC,为我们提供了大量可重用代码,隐藏了程序设计中的许多复杂工作,这也是面向对象方法的典型体现。,MFC,的类可分为两种:从,CObject,派生的类以及非派生类。本小节按功能组对,MFC,库中的常用类做一简要介绍。,1,根类,Cobject,Microsoft,基本类库中的大多数类都是由,CObject,类派生而来的。,CObject,对所有由它派生出的类提供了有用的基本服务。,2,MFC,应用结构类,MFC,应用结构类用于构造一个应用的框架。它们对大多数应用提供了通用功能。我们可以在框架中填写对于应用的特定的功能。,AppWizard,可以产生几种类型的应用,所有这些都以不同的方式使用应用框架。,1),应用程序和线程支持类,每一个应用都有一个也只有一个应用对象,这个对象派生自,CWinApp,。,Microsoft,基本类库支持在一个应用中有多个执行线程。所有的应用都必须至少有一个线程。,CWinApp,对象使用的线程叫做“主”线程。,CWinThread,封装了一部分操作系统的线程功能。,2),命令例程类,当使用鼠标选择菜单或控制条按钮,并与应用程序交互时,应用程序把消息从受影响的界面对象发至合适的命令目标对象。命令目标对象从,CCmdTarget,派生出来,包括,CWinApp,、,CWnd,、,CDocTemplate,、,CDocument,、,CView,和它们的派生类。框架支持自动命令例程,这样,命令可被应用程序中活动的大多数相应的对象处理。,3),文档类,文档类对象管理应用程序的数据并与视图类对象交互。视图对象表示窗口的客户区并显示文档的数据,允许用户与之交互。文档和视图都是由文档模板对象产生的。,4),文档模板类,当创建一个新文档,/,视图时,文档模板对象一并创建文档、视图和框架窗口对象。,3,窗口、对话框和控件类,1),CWnd,类,CWnd,类是所有窗口的基类。程序中可以使用,MFC,中的,CWnd,派生类,也可以从其中派生出自己的类。,2),框架窗口类,CFrameWnd,是,SDI,应用程序主框架窗口的基类。框架窗口通常包含其它窗口,如视图、工具条和状态条。,3),对话框类,类,CDialog,和它的派生类封装了对话框功能。由于对话框是一种特殊的窗口,所以,CDialog,是从,CWnd,派生的。,CDialog,又是所有对话框的基类。,4),视图类,CView,是视图类的基类。,CView,及其派生类是一些子窗口,表示框架窗口的客户区。视图显示数据,并接收文档的输入,以便编辑或选择数据。,5),控件类,控件类封装了各式各样的标准,Windows,控件,从静态文字控件到树形控件。另外,,MFC,提供了一些新控件,包括带位图和控制条的按钮。,6),控件条类,控件条附加在一个框架窗口中。它们包含按钮、状态面板或一个对话模板。自由浮动控件还可以调用工具调色板,这是通过把它们附加在,CMiniFrameWnd,对象上实现的。,4,菜单类,类,CMenu,直接从,CObject,派生出来,封装了,Windows,中菜单的数据结构,它提供一个界面,通过它可访问应用程序的菜单。,5,绘图和打印类,在,Windows,中,所有的图形输出都在一个可视的绘图区上,这叫做一个设备上下文,(,或,DC),,,所有对绘图的调用都是通过一个设备上下文对象完成的。,6,简单的数据类型类,这些类封装了绘图坐标、字符串、时间和数据信息。,7,数组、列表和映射类,数组是一维数据结构,它们在内存中是连续存储的。因为数组中任何一个给定元素的内存地址可以通过将元素的下标乘以一个元素的大小再加上数组的基地址而得到,所以数组支持非常快的随机访问。,8,文件和数据库类,这些类允许将信息存储在一个数据库或一个磁盘文件中。有两个数据库类的集合,DAO,和,ODBC,,,它们提供了相似的功能。,DAO,组使用数据访问对象实现,,ODBC,组使用开放式数据库对象实现。还有用于操作标准文件、,Active,流和,HTML,流的类的集合。,1),文件,I/O,类,这些类对传统磁盘文件、内存文件、,Active,流和,Windows,套接字提供了一个接口。,2) DAO,类,这些类与其它应用框架一起工作,可以使对,DAO(,数据访问对象,),数据库的访问更简便。,DAO,类使用的数据库引擎与,Microsoft Visual Basic,和,Microsoft Access,相同。,DAO,类还能访问许多支持开放数据库链接,(ODBC),驱动程序的数据库。,3) ODBC,类,这些类和其它应用框架一起工作,可以使得对许多支持开放数据库链接,(ODBC),的数据库的访问更简便。,9,Internet,和网络类,这些类允许和其它使用,ISAPI,的计算机或一个,Windows Socket,交换信息。,Internet,和网络类还有创建,ISAPI,扩展,DLL,的类的集合和操作,Windows,套接字的类的集合。,10. OLE,类,OLE,类与其它应用框架一起工作,可以使对,ActiveX,的访问更方便,可以使程序更容易地提供,ActiveX,的功能。,11,调试和异常类,这些类提供对调试动态内存分配的支持,并且支持将异常信息从产生异常的函数传递给捕获异常的函数。,11.3.2 MFC,应用程序框架,应用程序框架包含用于生成应用程序所必须的各种面向对象组件的集合。在,Visual C+,中,,MFC AppWizard,能方便地生成应用程序框架,用户可以在此基础上进行进一步的编程工作。,MFC AppWizard,生成的应用程序包括以下要素。,WinMain,函数。,Windows,要求应用程序必须有一个,WinMain,函数。但在我们的程序中看不到,WinMain,,,因为它隐藏在应用程序框架中。, 应用程序类,CmyFirstApp,。,该类的每一个对象代表一个应用程序。程序中默认定义一个全局,CMyFirstApp,对象,即,theApp,。,CWinApp,基类决定,theApp,的大多数行为。, 应用程序启动。启动应用程序时,,Windows,调用应用程序框架内置的,WinMain,函数,,WinMain,寻找由,CWinApp,派生出的全局构造的应用程序对象。在,C+,程序中,全局对象在主程序执行之前构造。, 成员函数,CmyFirstApp:InitInstance,。当,WinMain,函数找到应用程序对象时,它调用伪成员函数,InitInstance,,,这个成员函数调用所需的构造并显示应用程序的主框架窗口。必须在派生的应用程序类中重载,InitInstance,,,因为,CWinApp,基类不知道需要什么样的主框架窗口。, 成员函数,CwinApp:Run,。,函数,Run,隐藏在基类中,但是它发送应用程序的消息到窗口,以保持应用程序的正常运行。在,WinMain,调用,InitInstance,之后,便调用,Run,。,CMainFrame,类。,CMainFrame,类的对象代表应用程序的主框架窗口。当构造函数调用基类,CMainFrame,的成员函数,Create,时,,Windows,创建实际窗口结构,应用程序框架把它连接到,C+,对象。函数,ShowWindows,和,UpdateWindow,也是基类的成员函数,必须调用它们来显示窗口。, 文档与视图类。,MFC,通过“文档视图”的结构为应用程序提供一种将数据与视图相分离的存储方式。文档类的作用是将应用程序的数据保存在文档类对象中,以及从磁盘文件中读或向磁盘文件中写数据。视图类的作用是显示数据和编辑数据。在文档、视图以及应用程序框架的其余部分之间存在着非常复杂的相互作用过程。一个文档至少应该有一个与之对应的视图。很多情况下,一个文档有多个视图与之对应。, 关闭应用程序。如果用户通过关闭主框架窗口来关闭应用程序,这个操作就将激发一系列事件的发生,包括,CMainFrame,对象的析构、从,Run,中退出、从,WinMain,中退出和,CMyFirstApp,对象的析构。,11.4,使用,Visual C+,开发,Windows,程序实例,为了使读者对,Windows,程序开发方法有一个初步印象,下面我们给出一个完整的使用,Visual C+,开发,Windows,程序的实例。,用,MFC,向导创建如图,11-3,所示的编辑框,在编辑框中实现算术加、减、乘和除的运算。,图,11-3,可实现算术加、减、乘和除的运算的界面,1,利用,MFC,向导建立程序框架,(1),在进入,Visual C+ 6.0,的第一个界面下,选择,MFC,Appwizard(exe,),,,并设置工程名及其所在位置,如图,11-4,所示。,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!