MFC - 文档/视图架构

文档/视图架构是用于创建基于 Microsoft 基础类库的应用程序的基础。 它允许您区分组成计算机程序的不同部分,包括用户所看到的应用程序的一部分以及用户将处理的文档。 这是通过作为一个整体工作的单独类的组合来完成的。

组成文档/视图架构的部分是框架、一个或多个文档以及视图。 这些实体放在一起就构成了一个可用的应用程序。

视图

视图是用户用来完成其工作的平台。 为了让用户在应用程序上执行任何操作,您必须提供一个视图,它是一个基于 CView 类的对象。 您可以直接使用从 CView 派生的类之一,也可以从 CView 或其子类之一派生您自己的自定义类。

文档

文档类似于一个存储桶。 对于计算机应用程序,文档保存用户的数据。 要创建此体系结构的文档部分,您必须从 CDocument 类派生一个对象。

框架

顾名思义,框架是项目的构建块、结构和边框的组合。 框架为窗口提供了"物理"存在。 它还定义了对象相对于 Windows 桌面的位置。

单文档界面(SDI)

表达方式单文档界面或SDI指的是只能向用户呈现一个视图的文档。 这意味着应用程序无法一次显示多个文档。 如果要查看当前应用程序的其他类型的文档,则必须创建该应用程序的另一个实例。 记事本和写字板是 SDI 应用程序的示例。

让我们通过创建一个新的基于 MFC 对话框的应用程序来研究单文档界面或 SDI 的简单示例。

步骤 1 − 让我们使用下面提到的设置创建一个新的 MFC 应用程序 MFCSDIDemo

SDI

步骤 2 − 从"应用程序类型"中选择"单个文档",从"项目样式"中选择"MFC 标准"。

步骤 3 − 单击"完成"继续。

步骤 4 − 创建项目后,运行应用程序,您将看到以下输出。

SDI

多文档界面(MDI)

如果用户可以在应用程序中打开多个文档而无需关闭它,则该应用程序称为多文档界面 (MDI)。 为了提供此功能,应用程序提供了一个父框架,充当计算机程序的主框架。 在此框架内,应用程序允许使用单独的框架创建视图,使每个视图彼此不同。

让我们通过创建一个新的基于 MFC 对话框的应用程序来研究多文档界面或 MDI 的简单示例。

步骤 1 − 让我们使用下面提到的设置创建一个新的 MFC 应用程序 MFCMDIDemo

MDI

步骤 2 − 从应用程序类型中选择多文档,从项目样式中选择 MFC 标准。

步骤 3 − 单击"完成"继续。

步骤 4 − 创建项目后,运行应用程序,您将看到以下输出。

MDI

步骤 5 − 当您单击 File → New 菜单选项时,它将创建另一个子窗口,如下面的快照所示。

MDI

步骤 6 − 在多文档界面 (MDI) 应用程序中,每个应用程序有一个主框架。 在本例中,每个文档都有一个 CMDIFrameWnd 和一个 CMDIChildWnd 派生子框架。