文档、视和应用程序框架 Visual c++6.0是一个功能强大、用户界面友好而倍受程序员青 睐的开发工具。但是,在当前的 Microsoft基本类库4x版本中,大约有 将近200多个类,数千个函数,加之 Microsoft公司隐藏了一些技术细节 ,使得人们深入学习MFC变得有些困难。实际上,在 Visual c++开发平 台下,MFC的 App Wizard可以生成三种类型的应用程序: 基于对话框的应用 单文档应用(SD) 多文档应用(MDI SD和MD均是文档/视窗结构的应用程序类型。早些时候, MFC应用程序模型只是使用应用程序对象和主窗口对象的简单模型。 在这个模型中,应用程序的数据作为成员变量保持在框架窗口类中 在框架窗口的客户区中,该数据被输出到显示器。随着MFC新版本问 世,一种新式应用程序结构——文档视结构出现了。在这种结构中, FRame Wnd繁重的任务被委派给几个不同类,实现了数据存储和显示 的分离
文档、视和应用程序框架 Visual C++ 6.0 是一个功能强大、用户界面友好而倍受程序员青 睐的开发工具。但是,在当前的Microsoft 基本类库4.x 版本中,大约有 将近200多个类,数千个函数,加之Microsoft 公司隐藏了一些技术细节 ,使得人们深入学习MFC变得有些困难。实际上,在Visual C++开发平 台下,MFC的AppWizard可以生成三种类型的应用程序: l 基于对话框的应用 l 单文档应用(SDI) l 多文档应用(MDI) SDI和MDI均是文档/视窗结构的应用程序类型。早些时候, MFC应用程序模型只是使用应用程序对象和主窗口对象的简单模型。 在这个模型中,应用程序的数据作为成员变量保持在框架窗口类中, 在框架窗口的客户区中,该数据被输出到显示器。随着MFC新版本问 世,一种新式应用程序结构——文档/视结构出现了。在这种结构中, CFrameWnd繁重的任务被委派给几个不同类,实现了数据存储和显示 的分离
般情况下,采用文档/视结构的应用程序(如SDI应用)至 少应由以下4个对象组成: 应用程序对象:该对象是一个从 CWinApp类派生的类的对 象,它是应用程序的中心。应用程序对象将消息沿消息映射网络分 配给它的所有子程序。 框架窗口对象:该对象是一个从 FRame Wnd类派生的类的 对象 文档对象:该对象是一个从 CDocument类派生的类的对象 它主要用来存储应用程序中的数据,并把这些信息提供给应用程序 的其它部分 视窗对象:该对象是从CVew类派生的类的对象,它与其父 框架窗口用户区对齐。视窗接受用户对应用程序的输入并显示相关 联的文档数据
一般情况下,采用文档/视结构的应用程序(如SDI应用)至 少应由以下4个对象组成: 应用程序对象:该对象是一个从CWinApp类派生的类的对 象,它是应用程序的中心。应用程序对象将消息沿消息映射网络分 配给它的所有子程序。 框架窗口对象:该对象是一个从CFrameWnd 类派生的类的 对象。 文档对象:该对象是一个从CDocument类派生的类的对象, 它主要用来存储应用程序中的数据,并把这些信息提供给应用程序 的其它部分。 视窗对象:该对象是从CView类派生的类的对象,它与其父 框架窗口用户区对齐。视窗接受用户对应用程序的输入并显示相关 联的文档数据
通常,应用程序数据存放于简单模型中的框架窗口中。在文档/视结 构应用中,该数据被放在称为文档的独立数据对象中。当然,文档不 定就是文字,文档可以是表现应用程序使用的数据集的抽象术语。而用 户输入处理及图形输出功能从框架窗口转向视图。单独的视窗完全遮蔽 框架窗口的客户区,这意味着即使程序员直接绘画至框架窗口的客户区 视图仍遮蔽绘画,在屏幕上不出现任何信息。所以输出必须通过视图。 框架窗口仅仅是个视图容器。注意:ⅥswlC++可以建立只有视窗而没 有文档的应用程序框架 CDocument类对文档的建立及归档提供支持并提供应用程序用于控制 其数据的接口。MD应用程序可以处理多个类型的文档,每个类型的文 档拥有一个相关联的文档模板对象。文档对象隐藏在视窗的后面,提供 由视图对象显示的信息。文档至少有一个相关联的视图。视图只能与一 个文档相关联 在文档/视方式中,对象的建立是由文档模板来管理的,它是 CDoc Template类派生类的对象,建立并维护框架窗口,文档及视
通常,应用程序数据存放于简单模型中的框架窗口中。在文档/视结 构应用中,该数据被放在称为文档的独立数据对象中。当然,文档不一 定就是文字,文档可以是表现应用程序使用的数据集的抽象术语。而用 户输入处理及图形输出功能从框架窗口转向视图。单独的视窗完全遮蔽 框架窗口的客户区,这意味着即使程序员直接绘画至框架窗口的客户区, 视图仍遮蔽绘画,在屏幕上不出现任何信息。所以输出必须通过视图。 框架窗口仅仅是个视图容器。注意:Visual C++可以建立只有视窗而没 有文档的应用程序框架。 CDocument类对文档的建立及归档提供支持并提供应用程序用于控制 其数据的接口。MDI应用程序可以处理多个类型的文档,每个类型的文 档拥有一个相关联的文档模板对象。文档对象隐藏在视窗的后面,提供 由视图对象显示的信息。文档至少有一个相关联的视图。视图只能与一 个文档相关联。 在文档/视方式中,对象的建立是由文档模板来管理的,它是 CDocTemplate类派生类的对象,建立并维护框架窗口,文档及视