MFC之程序框架

来源:互联网 发布:21天学通c语言第七版 编辑:程序博客网 时间:2024/05/01 10:15
 

首先就是看一下应用向导生成的MFC应用程序都有哪些主要的文件,包含哪些类以及相关类的对应功能和他们之间的关系(再次说明,因为我在这里关心的是程序的框架结构,所以对于一些与话题关系不很大的东西我将会略去不提)。

 

在上面的SDI应用程序中,向导为我们生成了4个主要的类,这些类都是MFC类的派生类,分别包含在对应的头文件以及实现文件中。

 

1、  框架窗口类及其相关的文件

框架窗口类对应应用程序的主窗口,明白这一点后就可以建立一个对这个类的感性认识了,他的定义是在头文件MainFrm.h中,而实现则是在MainFrm.cpp文件中。所有与框架窗口向光的功能都是在这里定义和实现的。

2、  文档类及其相关的文件

文档类在应用程序中没有直观的对应关系,但是,我们应该知道的一点就是MFC的框架的一个特点就是文档/视图结构。这里可以抽象一点地来理解,比如说我们在Word中打开了一个文件,其实,这个文件就是文档,而我们看到的只不过是这个文件一个视图,所以说文档提供了应用程序显示的支持,但是我们真正看到的应用程序显示的则是一个视图,文档类的定义是在“Hello WorldDoc.h”中,而他的实现则是在“Hello WorldDoc.cpp”文件中。

3、  视图类及其相关的文件

视图类是用来显示文档对象的内容的,我们在Word程序中所看到的界面就是一个视图,我们要修改,画图首先操作的对象就是视图,所以,视图类就如他的名称所指出的那样,提供了从用户角度看到的东西。视图类的定义在“Hello WorldView.h”中,实现是在文件“Hello WorldView.h”中。

4、  应用程序类及其相关的文件

MFC应用程序的初始化,启动运行和结束都是由应用程序对象完成的。他对应的文件是”Hello World.cpp””Hello World.h”

 

在大致的了解了应用程序对象的作用之后,现在我们来看看它们之间的关系(如下图所示)。

 

应用程序对象

文档模板对象

框架窗口对象

视图对象

文档对象

 


 

  

从上面的图中可以大致的看出MFC应用程序对象之间的关系了。应用程序一开始(此处的内容可以参考上一篇)生成应用程序对象,然后,在InitInstance中创建中将会创建文档模板对象(通过CdocManager管理),这样一来,应用程序就可以通过建立的模板对象来管理文档、视图、和框架窗口。

原创粉丝点击