基于MFC的应用程序框架分析

基于MFC的应用程序框架分析

ID:42479803

大小:271.00 KB

页数:40页

时间:2019-09-15

基于MFC的应用程序框架分析_第1页
基于MFC的应用程序框架分析_第2页
基于MFC的应用程序框架分析_第3页
基于MFC的应用程序框架分析_第4页
基于MFC的应用程序框架分析_第5页
资源描述:

《基于MFC的应用程序框架分析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第六章基于MFC的应用程序框架分析一.什么是MFC?二.程序类和文件三.程序框架中各个类的作用分析四.程序的工作步骤分析五.程序框架中各个对象的相互调用关系一、什么是MFC?1、概述微软基础类库(MFC:MicrosoftFoundationClass)是微软为Windows程序员提供的一个面向对象的Windows编程接口,它大大简化了Windows编程工作。使用MFC类库的好处是:首先,MFC提供了一个标准化的结构,这样开发人员不必从头设计创建和管理一个标准Windows应用程序所需的程序,而是“站在巨人肩膀上”,从一个比较高的起点编程,故节省了大量的时间;其

2、次,它提供了大量的代码,指导用户编程时实现某些技术和功能。2、MFC类库的概念及组成(1)类库是一个可以在应用中使用的相互关联的C++类的集合。(2)Microsoft提供了一个基础类库MFC,其中包含用来开发C++和C++Windows应用程序的一组类。基础类库的核心是以C++形式封装了大部分的WindowsAPI。类库表示窗口、对话框、设备上下文、公共GDI对象如画笔、调色板、控制框和其他标准的Windows部件。这些类提供了一个面向Windows中结构的简单的C++成员函数的接口。(3)MFC可分为两个主要部分:(1)基础类(2)宏和全程函数。2、使用MF

3、C生成一个应用程序-MyDraw创建新应用程序:第一步:选择应用程序类型第二步:选择支持的数据库类型第三步:选择支持的OLE类型第四步:选择应用程序包含的特征第五步:设置其他特征应用程序运行界面二、程序类和文件在MFC应用程序中包含着四个主要的类:(1)文档类(2)视图类(3)主框架窗口类(4)应用类C++类在文件组织上一般分为两部分:头文件(.h)和实现文件(.cpp)。类和结构的定义放在头文件中,通过include宏插入实现文件中。实现文件用来存放类的各种函数的实际实现代码。1、文档类由基类CDocument派生,文档类负责存放程序数据并读取磁盘文件数据,或

4、将磁盘文件数据写入磁盘文件中。比如在建立一个图形系统时,存储图形的数据结构等都是放在文档类中的。2、视图类视图类是由CView类派生的,它负责显示文档类的数据,可以显示在屏幕上,也可以输出在打印机和其他设备上。在屏幕上,这个类管理客户窗口。例:在实现一个图形系统时,屏幕上显示、打印机绘图的工作都是由视图类完成的。3、框架类单文档的框架类由CFrameWnd类派生的。用来显示一个标题、一个菜单条、窗口的最大化和最小化按钮,边框,工具条以及状态条等。多文档应用程序中包含两个框架类:主框架类CMainFrame,由MFC的CMDIFrameWnd类派生,提供了一个多文

5、档界面主窗口的所有功能并管理主窗口中的子窗口,如显示一个标题、菜单条等等;子框架类CChildFrame由CMDIChildWnd派生,用来管理子窗口。子窗口只能在主窗口内显示,而不能在Windows桌面上显示。4、应用类应用类是由MFC的CWinApp类派生的。应用类管理程序的总体,它完成初始化、运行程序以及进行最后的程序清除工作。三、程序框架中各个类的作用分析举例说明:用文稿、黑板,还有一些工具盒来组成一个工作环境或平台.文档类用来负责文稿的管理工作。框架类负责黑板的管理工作。视图类的作用是显示文稿的内容。应用类负责建立启动这个工作环境。四、程序的工作步骤分

6、析运行时,应用程序框架首先获得控制权,依次执行下面的步骤:1、构造唯一的应用类对象theApp,调用CWinApp类的构造函数。2、调用WinMain()函数。WinMain()函数的工作又可细分为:1)获得指向唯一应用类对象的指针。2)进行一些内部初始化,若失败,转至第5)步。3)进行应用程序的初始化,即调用InitInstance()函数进行初始化.如果失败,则调用应用类的ExitInstance()函数,转至5)。4)调用应用类的Run()函数,其功能主要是进行消息循环,不断获取消息和处理消息。一直到用户关闭应用程序的窗口,产生WM_QUIT消息,调用Ex

7、itInstance()函数,准备退出。5)进行应用程序的收尾工作,比如删除注册的窗口类等。6)返回。3、从WinMain()函数返回后,删除应用程序的唯一应用类的对象,删除时要调用其析构函数。4、终止应用程序。五、程序框架中各个类对象的相互调用关系1、视图类对象对文档类对象的调用例:CDrawDoc*pDoc=GetDocumen();GetDocument()的作用是得到指向文档对象的指针。2、在框架类对象中获得当前的文档和视图对象指针例:CDrawDoc*pDoc=(CDrawDoc*)GetActiveDocument();CDrawView*pView

8、=(CDrawView*

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。