Windows程序设计教案第4章.ppt_第1页
Windows程序设计教案第4章.ppt_第2页
Windows程序设计教案第4章.ppt_第3页
Windows程序设计教案第4章.ppt_第4页
Windows程序设计教案第4章.ppt_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1,第4章 MFC应用程序设计的基础知识,2,利用Windows API函数进行编程时,大量的代码需要程序员自己编写,编程的工作量较大。,通常利用MFC(Microsoft Foundation Classes)和向导(Wizard)来编写Windows应用程序。(P.14),首先使用AppWizard来生成Windows应用程序的基本框架,然后用ClassWizard来建立应用程序的类、消息处理、数据处理函数或定义控件的属性、事件和方法,最后把各应用程序所要求的功能添加到类中,3,1 MFC概述,4,MFC还很好地保持了程序的向下兼容性,是用来编写Windows应用程序的C+类集,提供了大量的基类供程序员根据不同的应用环境进行扩充,允许在编程过程中自定义和扩展应用程序中的类,较好的移植性,可移植于众多的平台,5,2 MFC类库的组织结构及主要的类,2.1 MFC类库的组织结构,(教材P.226),6,7,简单数据类型类,8,9,2.2应用程序体系结构类,10,11,12,13,14,15,2.4 通用类,此类提供了许多通用服务,例如文件I/O、诊断和异常处理等,此外还包括如数组和列表等存放数据集的类,1文件类:CFile类和CArchive类,用以编写输入输出处理函数,2异常类:CException类,是所有异常情况的基类。不能直接建立CException对象,只能建立派生类的对象,用派生类来捕获指定的异常情况,3模板收集类,这些类可以将多种对象存放到数组、列表和“ 映射”中。但这些收集类是模板,它们的参数确定了存放在集合中的对象类型。,16,2.5 OLE类,2.6 ODBC数据库类,开放数据库连接子层次结构提供了一些类来支持ODBC特征,即通过这些类可开发数据库应用程序来访问多个数据库文件,17,3 MFC中全局函数,以Afx开头的函数除数据库类函数和DDX(Dialog Data Exchange)函数外,在目前的版本中,都表示是一个全局函数。,18,4.文档/视图结构,MFC通过文档/视图结构把对数据的管理和显示进行了分工,其中,文档负责数据的存储和管理,视图负责数据的显示。 在文档/视图结构中,文档是一个内存中的概念,它负责存储和管理应用程序在内存中的所有数据。即,它首先采用某种数据结构来存储应用程序中所有的数据,构成了应用程序所使用的数据单元;此外,它提供了管理和维护数据的手段以及存盘、读取的手段。,19,视图是一个用户界面的概念,它构成了数据的用户窗口,为用户提供了文档中的数据的可视化显示,它把文档的部分或全部内容在窗口中显示出来。视图还给用户提供了一个与文档中的数据交互的界口,它可以把用户的输入转化为对文档中数据的操作。 每个文档都会有一个或多个视图显示,这些视图可以互不相同。比如,在Excel电子表格中,我们可以将数据以表格方式显示,也可以将数据以图表方式显示。一个视图既可以输出到窗口中,也可以输出到打印机上。,20,内存,用户界面,21,MFC中,文档和视图分别用文档类和视图类来表示。每一个支持文档/视图结构的应用程序都有自己的文档类和视图类,二者都可以获得对方的指针从而进行访问。其中,文档类是从CDocument派生的,视图类是从CView或CView的派生类派生的。,22,文档/视图结构的工作机制,视图类通过GetDocument()成员函数获得指向文档类对象的指针,通过该指针调用文档类的成员函数来从文档中读取数据,视图把数据显示于计算机屏幕上,用户通过与视图的交互来查看数据并对数据进行修改,视图通过调用文档类的成员函数将经过修改的数据传递给文档对象,文档对象获得修改过的数据之后,对其进行必要的修改,最后保存到永久介质(如磁盘文件)中,23,5.应用程序向导及其应用步骤(教材P.228),应用程序向导为程序员提供了一个基于MFC的应用程序框架,程序员可以在此基础上添加实现特定功能的代码即可,24,25,26,27,28,29,30,31,32,33,6.第一个MFC程序 学习向导产生的类、菜单栏、 工具栏和消息映射,6.1 向导产生的4个主要类 应用程序类(从CWinApp派生) 重要成员函数: InitInstance(); ExitInstance();,34,主框架类CMainFrame(从CFrameWnd派生) 重要成员函数: OnCreate(); PreCreateWindow();,文档类(从CDocument派生) 重要成员函数: Serialize() 注意:关于Serialize(),有4种类可以使用这个函数:1.CDocument 2.CObArray 3.CObList 4.派生自CObject的自定义类(需添加DECLARE_SERIAL(CXXX)和IMPLEMENT_SERIAL(CXXX,CObject,1)两个宏)。,35,视图类(从CView或其派生类派生) 重要成员函数: OnDraw() 注意:OnDraw()函数什么时候被调用:1.客户区变得“无效”(即系统发出WM_PAINT消息)的时候,由框架自动调用此函数。2.程序员在其它函数中需要重新绘制客户区的时候,可调用Invalidate()函数,这个函数强制使客户区无效,所以可发生WM_PAINT消息,导致OnDraw()被调用。,6.2 添加菜单和工具栏按钮,36,6.3 认识MFC的消息映射机制: 消息映射的含义就是指定哪一个消息用哪一个函数去处理。 头文件中的DE

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论