c程序设计语言揣锦华第11章visualc环境下windows2

上传人:tian****1990 文档编号:74186822 上传时间:2019-01-27 格式:PPT 页数:26 大小:2.80MB
返回 下载 相关 举报
c程序设计语言揣锦华第11章visualc环境下windows2_第1页
第1页 / 共26页
c程序设计语言揣锦华第11章visualc环境下windows2_第2页
第2页 / 共26页
c程序设计语言揣锦华第11章visualc环境下windows2_第3页
第3页 / 共26页
c程序设计语言揣锦华第11章visualc环境下windows2_第4页
第4页 / 共26页
c程序设计语言揣锦华第11章visualc环境下windows2_第5页
第5页 / 共26页
点击查看更多>>
资源描述

《c程序设计语言揣锦华第11章visualc环境下windows2》由会员分享,可在线阅读,更多相关《c程序设计语言揣锦华第11章visualc环境下windows2(26页珍藏版)》请在金锄头文库上搜索。

1、Windows程序要处理的消息种类如下: Windows消息。该类消息以WM_开头(WM_COMMAND例外),通常由窗口和视图来处理。这些消息常常带有参数,用于决定处理该消息的方式。 由控件和其它子窗口发送给父窗口的WM_COMMAND消息。这些消息中包括EN_CHANGE通知码。如当用户在编辑框中键入文本或进行修改时,就会向系统发送一个带EN_CHANGE通知码的WM_COMMAND消息。 来自于用户界面对象的WM_COMMAND消息。这些用户界面对象包括菜单、工具栏按钮和快捷键。,11.3 MFC 基 础,11.3.1 MFC类库简介 类库是一个可以在应用程序中使用的相互关联的C+类的集

2、合。与一般类库不同,MFC是一个Windows应用程序框架,它定义了应用程序的结构并实现了标准的用户接口。MFC提供了管理窗口、菜单、对话框的代码,可实现基本的输入输出和数据存储。MFC为我们提供了大量可重用代码,隐藏了程序设计中的许多复杂工作,这也是面向对象方法的典型体现。,MFC的类可分为两种:从CObject派生的类以及非派生类。本小节按功能组对MFC库中的常用类做一简要介绍。 1根类Cobject Microsoft基本类库中的大多数类都是由CObject类派生而来的。CObject对所有由它派生出的类提供了有用的基本服务。,2MFC应用结构类 MFC应用结构类用于构造一个应用的框架。

3、它们对大多数应用提供了通用功能。我们可以在框架中填写对于应用的特定的功能。AppWizard可以产生几种类型的应用,所有这些都以不同的方式使用应用框架。 1) 应用程序和线程支持类 每一个应用都有一个也只有一个应用对象,这个对象派生自CWinApp。Microsoft基本类库支持在一个应用中有多个执行线程。所有的应用都必须至少有一个线程。CWinApp对象使用的线程叫做“主”线程。CWinThread封装了一部分操作系统的线程功能。,2) 命令例程类 当使用鼠标选择菜单或控制条按钮,并与应用程序交互时,应用程序把消息从受影响的界面对象发至合适的命令目标对象。命令目标对象从CCmdTarget派

4、生出来,包括CWinApp、CWnd、CDocTemplate、CDocument、CView和它们的派生类。框架支持自动命令例程,这样,命令可被应用程序中活动的大多数相应的对象处理。,3) 文档类 文档类对象管理应用程序的数据并与视图类对象交互。视图对象表示窗口的客户区并显示文档的数据,允许用户与之交互。文档和视图都是由文档模板对象产生的。,4) 文档模板类 当创建一个新文档/视图时,文档模板对象一并创建文档、视图和框架窗口对象。 3窗口、对话框和控件类 1) CWnd类 CWnd类是所有窗口的基类。程序中可以使用MFC中的CWnd派生类,也可以从其中派生出自己的类。,2) 框架窗口类 CF

5、rameWnd是SDI应用程序主框架窗口的基类。框架窗口通常包含其它窗口,如视图、工具条和状态条。 3) 对话框类 类CDialog和它的派生类封装了对话框功能。由于对话框是一种特殊的窗口,所以CDialog是从CWnd派生的。CDialog又是所有对话框的基类。,4) 视图类 CView是视图类的基类。CView及其派生类是一些子窗口,表示框架窗口的客户区。视图显示数据,并接收文档的输入,以便编辑或选择数据。 5) 控件类 控件类封装了各式各样的标准Windows控件,从静态文字控件到树形控件。另外,MFC提供了一些新控件,包括带位图和控制条的按钮。,6) 控件条类 控件条附加在一个框架窗口

6、中。它们包含按钮、状态面板或一个对话模板。自由浮动控件还可以调用工具调色板,这是通过把它们附加在CMiniFrameWnd对象上实现的。,4菜单类 类CMenu直接从CObject派生出来,封装了Windows中菜单的数据结构,它提供一个界面,通过它可访问应用程序的菜单。 5绘图和打印类 在Windows中,所有的图形输出都在一个可视的绘图区上,这叫做一个设备上下文(或DC),所有对绘图的调用都是通过一个设备上下文对象完成的。,6简单的数据类型类 这些类封装了绘图坐标、字符串、时间和数据信息。 7数组、列表和映射类 数组是一维数据结构,它们在内存中是连续存储的。因为数组中任何一个给定元素的内存

7、地址可以通过将元素的下标乘以一个元素的大小再加上数组的基地址而得到,所以数组支持非常快的随机访问。,8文件和数据库类 这些类允许将信息存储在一个数据库或一个磁盘文件中。有两个数据库类的集合DAO和ODBC,它们提供了相似的功能。DAO组使用数据访问对象实现,ODBC组使用开放式数据库对象实现。还有用于操作标准文件、Active流和HTML流的类的集合。 1) 文件I/O类 这些类对传统磁盘文件、内存文件、Active流和Windows套接字提供了一个接口。,2) DAO类 这些类与其它应用框架一起工作,可以使对DAO(数据访问对象)数据库的访问更简便。DAO类使用的数据库引擎与Microsof

8、t Visual Basic和Microsoft Access相同。DAO类还能访问许多支持开放数据库链接(ODBC)驱动程序的数据库。 3) ODBC类 这些类和其它应用框架一起工作,可以使得对许多支持开放数据库链接(ODBC)的数据库的访问更简便。,9Internet和网络类 这些类允许和其它使用ISAPI的计算机或一个Windows Socket交换信息。Internet和网络类还有创建ISAPI扩展DLL的类的集合和操作Windows套接字的类的集合。 10. OLE类 OLE类与其它应用框架一起工作,可以使对ActiveX的访问更方便,可以使程序更容易地提供ActiveX的功能。,1

9、1调试和异常类 这些类提供对调试动态内存分配的支持,并且支持将异常信息从产生异常的函数传递给捕获异常的函数。,11.3.2 MFC应用程序框架 应用程序框架包含用于生成应用程序所必须的各种面向对象组件的集合。在Visual C+中,MFC AppWizard能方便地生成应用程序框架,用户可以在此基础上进行进一步的编程工作。MFC AppWizard生成的应用程序包括以下要素。 WinMain函数。Windows要求应用程序必须有一个WinMain函数。但在我们的程序中看不到WinMain,因为它隐藏在应用程序框架中。, 应用程序类CmyFirstApp。该类的每一个对象代表一个应用程序。程序中

10、默认定义一个全局CMyFirstApp对象,即theApp。CWinApp基类决定theApp的大多数行为。 应用程序启动。启动应用程序时,Windows调用应用程序框架内置的WinMain函数,WinMain寻找由CWinApp派生出的全局构造的应用程序对象。在C+程序中,全局对象在主程序执行之前构造。, 成员函数CmyFirstApp:InitInstance。当WinMain函数找到应用程序对象时,它调用伪成员函数InitInstance,这个成员函数调用所需的构造并显示应用程序的主框架窗口。必须在派生的应用程序类中重载InitInstance,因为CWinApp基类不知道需要什么样的主

11、框架窗口。 成员函数CwinApp:Run。函数Run隐藏在基类中,但是它发送应用程序的消息到窗口,以保持应用程序的正常运行。在WinMain调用InitInstance之后,便调用Run。, CMainFrame类。CMainFrame类的对象代表应用程序的主框架窗口。当构造函数调用基类CMainFrame的成员函数Create时,Windows创建实际窗口结构,应用程序框架把它连接到C+对象。函数ShowWindows和UpdateWindow也是基类的成员函数,必须调用它们来显示窗口。, 文档与视图类。MFC通过“文档视图”的结构为应用程序提供一种将数据与视图相分离的存储方式。文档类的作

12、用是将应用程序的数据保存在文档类对象中,以及从磁盘文件中读或向磁盘文件中写数据。视图类的作用是显示数据和编辑数据。在文档、视图以及应用程序框架的其余部分之间存在着非常复杂的相互作用过程。一个文档至少应该有一个与之对应的视图。很多情况下,一个文档有多个视图与之对应。, 关闭应用程序。如果用户通过关闭主框架窗口来关闭应用程序,这个操作就将激发一系列事件的发生,包括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所示。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

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