文档/视图体系结构

默认情况下," MFC 应用程序向导"创建。类文档和视图类的应用程序" 管理 MFC 数据分割到这两个类。 文档存储您的数据并管理更新打印数据的多个视图的数据的、和坐标。 视图显示数据并管理用户与它交互的,包括选择和编辑。

在此模型,所以 MFC 文档对象读写数据到永久存储。 文档还提供接口。数据,无论该类型所驻留 (如数据库)。 单独视图对象控制数据显示,从所呈现窗口中的数据向用户选择和编辑数据。 视图从文档中显示数据并传达回所有文档数据更改。

当您可以很容易重写或忽略文档/视图分开,则强制原因很多情况下此模型。 一种更好。需要相同文档的多个视图,如电子表格和图表视图。 文档/视图模型允许单独视图对象表示的每个数据视图,而代码,共有的所有显示 (如计算引擎可以驻留文档。 本文档还利用更新的所有任务,每当数据发生更改。

MFC 文档/视图体系结构可以轻松支持多视图、多文档类型、拆分窗口和其他重要的用户界面功能。

MFC 框架的部分最明显至用户并为您,程序员,是文档和视图。 在大部分开发应用程序中使用框架访问编写文档和视图类。 本文描述系列:

  • 文档和视图的目的,并且它们在框架进行交互。

  • 您必须实现自己执行。

核心文档/视图中心是四个关键类:

CDocument ( COleDocument) 或类支持使用的对象存储或控制程序的数据和用于根据程序员定义的文档类的基本功能。 文档表示用户通常会打开与在"文件"菜单中打开命令并保存。在"文件"菜单上的"保存"命令数据的单元。

CView (或派生类之一) 对程序员定义的视图类的基本功能。 视图与文档并充当了文档和用户之间的中间组件:视图呈现文档的图像在屏幕上并解释用作操作用户输入处理文档。 视图还呈现打印和"打印预览"的图像。

其差异CFrameWnd (一个) 支持在文档的一个或多个视图四周的框架的对象。

CDocTemplate (或或 CSingleDocTemplate CMultiDocTemplate) 支持对象坐标特定类型的一个或多个现有文档和管理创建正确的文档、视图和框架窗口对象该类型。

下图显示了记录视图的文档和它的视图之间的关系。

文档和视图

视图是所显示文档的一部分

文档/视图实现类库中将数据从其显示以及对数据的用户操作。 对数据所做的任何更改都将在文档中的类管理。 视图调用此接口来访问和以更新数据。

文档、它们的关联视图和构成视图的框架窗口由文档模板创建。 文档模板负责创建和管理的文档类型中所有文档负责。

您想进一步了解什么?

请参见

概念

窗口

框架窗口

文档模板和文档/视图创建过程

文档/视图创建

创建新文档、窗口和视图

其他资源

用户界面元素 (MFC)