第5章文档/视结构
第5章 文档/视结构
文档/视结构是 Microsoft公司为Ⅴ isual o++ Windows程 序设计提出的一种新的编程机制。它是我们在 Visual c++ 中使用MFC开发基于文档的应用程序的基本框架,在这 个框架中,数据的维护和显示是分别由两个不同的且彼 此紧密相关的两个对象文档和视负责的。在文档/视 结构中,文档相当于一个数据容器或数据管理中心,而 视却相当于显示数据的窗口或者是和数据发生交互的窗 口。因此一个完整的基于MFC开发的应用程序一般至少 由四个类组成(SD应用): CWinApp应用类, FRame Wnd窗口框架类, CDocument文档类, CView视 类( Visual o+V60中支持创建不带文档-视结构的应 用)。文档/视结构在很多场合与传统的编程方式相比要 更有利于这一类应用程序的编写
文档/视结构是Microsoft公司为Visual C++ Windows程 序设计提出的一种新的编程机制。它是我们在Visual C++ 中使用MFC开发基于文档的应用程序的基本框架,在这 个框架中,数据的维护和显示是分别由两个不同的且彼 此紧密相关的两个对象——文档和视负责的。在文档/视 结构中,文档相当于一个数据容器或数据管理中心,而 视却相当于显示数据的窗口或者是和数据发生交互的窗 口。因此一个完整的基于MFC开发的应用程序一般至少 由四个类组成(SDI应用):CWinApp应用类, CFrameWnd窗口框架类,CDocument文档类,CView视 类(Visual C++ V6.0中支持创建不带文档-视结构的应 用)。文档/视结构在很多场合与传统的编程方式相比要 更有利于这一类应用程序的编写
构造文档对象 使用 CFrameWnd: Create刨 构造框架窗口对象 建 Windows窗囗 创建视对象 框架 创建文档框架 处理 WM CREATE消息。 CMain Frame: OnCreate LaB 创建 Windows窗口 CFrameWnd: On createclient 创建用户区 在 CView: On Create中处 是否打开 理 WM CREATE消息 否 是 打开文件并创建档案 调用 CDocument:调用 CDocument 调用 CDocument: Serialize 文档 OnNewDocument OnOpenDocument 读取文件 关闭档案和文件
在应用中一个视对应一个文档,个文档可以包含全视 个应用中只用一个框架窗口,对多文档界面来讲可能有多个 MDI子窗口。每一个视都是一个子窗口,在单文档界面中父窗 口即是框架窗口,在多文档界面中父窗口为MDI子窗口。一个 多文档应用中可以包含多个文档模板,一个模板定义了一个文 档和一个或多个视之间的对应关系。同一个文档可以属于多个 模板,但一个模板中只允许定义一个文档。同样一个视也可以 属于多个文档模板
在应用中一个视对应一个文档,但一个文档可以包含多个视。 一个应用中只用一个框架窗口,对多文档界面来讲可能有多个 MDI子窗口。每一个视都是一个子窗口,在单文档界面中父窗 口即是框架窗口,在多文档界面中父窗口为MDI子窗口。一个 多文档应用中可以包含多个文档模板,一个模板定义了一个文 档和一个或多个视之间的对应关系。同一个文档可以属于多个 模板,但一个模板中只允许定义一个文档。同样一个视也可以 属于多个文档模板
应用程序对象 Doc文档模板A D0c2文档模板B Doc3实例‖Docl实例Doc2实例 Doc1实例Doc2实例 图52有两种文档类型的MD应用程序
应用程序对象 Doc文档模板A Doc2文档模板B Doc1实例 Doc2实例 Doc3实例 Doc1实例 Doc2实例 图5.2 有两种文档类型的MDI应用程序