mfc应用程序框架剖析

mfc应用程序框架剖析

ID:39972398

大小:340.81 KB

页数:52页

时间:2019-07-16

mfc应用程序框架剖析_第1页
mfc应用程序框架剖析_第2页
mfc应用程序框架剖析_第3页
mfc应用程序框架剖析_第4页
mfc应用程序框架剖析_第5页
资源描述:

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

1、第3章MFC应用程序框架剖析贾澎涛pengtao.jia@gmail.comMFC的类组成了“应用程序框架”,“应用程序框架”定义应用程序的框架并提供基本的通用功能,程序开发者只须另外添加自己需要的功能即可。3.1最简单的应用程序实例1:“HelloWorld!”(1)使用AppWizard生成一个Win32Application工程(2)加入Hello.cpp文件(3)运行MFC应用程序至少要有两个对象:应用对象(CHelloApp)和主框架类对象(CHelloFrame)。类CHelloApp的对象就代表着一个应用程序对象。在MFC应用程序中需要定义一个单独的全局应用对

2、象。#includeclassCHelloFrame:publicCFrameWnd{public:CHelloFrame(){Create(NULL,"HelloWorld!",WS_OVERLAPPEDWINDOW,rectDefault);}};classCHelloApp:publicCWinApp{public:virtualBOOLInitInstance(){m_pMainWnd=newCHelloFrame();m_pMainWnd->ShowWindow(m_nCmdShow);m_pMainWnd->UpdateWindow();re

3、turnTRUE;}};CHelloAppHelloApp;//定义一个全局CHelloApp对象3.2带文档—视图结构的MFC程序基本框架类和文件组成上面的例子用应用对象和框架窗口对象构造了最简单的MFC应用程序框架,而大多数的MFC应用程序都要比他复杂的多。在这类应用中除了要包含应用对象和框架窗口对象外,还要包含文档类和视图类。采用文档/视图结构最大的优点在于将程序数据本身与数据的操作与维护分离开来。微软提供了一个相当灵活的结构,用户几乎可以采用这种结构创建任何类型的Windows程序。一个文档可以对应多个视图,比如,用户在一个图表中查看由数据生成的图表的同时,可以在另

4、一个表单中查看产生该图表的原始数据。下面我们就对文档视图结构做详细分析。在前面我们已经建立了一个名字为Draw的工程,事实上这个框架程序已经可以编译运行了。在BUILD菜单中选择REBUILDALL菜单项,系统开始编译由APPWIZARD自动生成的程序框架中所有文件中的源代码,并且链接生成可执行的应用程序。在BUILD菜单中选择EXECUTE菜单项,应用程序就开始运行了,虽然我们没有编写一行代码,但是可以看出由系统自动生成的应用程序的界面已经有了一个标准WINDOWS应用程序所需的几个组成部分,我们要做的事情是往这个应用程序添加必要的代码以完成我们所需要的功能。接下来将要对

5、WINDOWS自动生成的这个应用程序框架作详细的介绍,让你对MFC方式的WINDOWS应用程序的工作原理有全面的认识,只有这样你才会知道应该如何往程序框架当中添加需要的代码。通过对应用程序Draw进行分析,可以知道普通的MFC应用程序包含以下四个主要的类:文档类、视图类、主框架窗口类、应用类。程序的主要任务在这四个类中分配,AppWizard为每个类的实现产生了各自的源文件。C++类在文件组织上一般分为两个部分:头文件(.h)和实现文件(.cpp)。头文件是.h文件,一般用来存放类、结构等的定义代码,通过include宏插入到实现文件中。实现文件是通常的.cpp文件,用来存

6、放类的成员函数的实际代码。文档类应用程序Draw的文档类的名称是CDrawDoc,这是AppWizard根据项目名称默认所取的名称,它是由MFC的基类CDocument派生的。CDrawDoc类的头文件是drawdoc.h,实现文件是drawdoc.cpp。头文件中存放的是类的定义代码,实现文件中存放的是类的各个成员函数的实现代码。文档类负责存放程序数据并读取磁盘文件数据,或将磁盘文件数据写入磁盘文件中。再建立一个应用项目时,在文档类中对应用程序所需要的数据资料进行管理。视图类应用程序Draw中视图类的名称是CDrawView,它是由MFC的Cview类派生的。CdrawV

7、iew类的头文件是drawview.h,实现文件是drawview.cpp。视图类负责显示文档类中的数据,可以显示在屏幕上,也可以输出到打印机上或其它设备上。视图类也负责处理用户的输入。框架类在使用AppWizard生成的应用程序Draw时,选择的是一个多文档选项(在MFCAppWizard-Step1,选择的是Multipledocuments选项),所以应用程序Draw中包含两个框架类:主框架类CMainFrame和子框架类CChildFrame。主框架类CMainFrame是由MFC的CMDIFrameWnd

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

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

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