03.2.5 文档-视类结构.txt

来自「网上第一本以TXT格式的VC++深入详解孙鑫的书.全文全以TXT格式,并每一章节」· 文本 代码 · 共 11 行

TXT
11
字号
3.2.5  文档/视类结构
前面已经提到,我们创建的MFC程序除了主框架窗口以外,还有一个窗口是视类窗口,对应的类是CView类,CView类也派生于CWnd类。框架窗口是视类窗口的一个父窗口,它们之间的关系如图3.20所示。主框架窗口就是整个应用程序外框所包括的部分,即图中粗框以内的内容;而视类窗口只是主框架窗口中空白的地方。



可以看到Test程序中还有一个CTestDoc类,它派生于CDocument类。其基类是CCmdTarget,而后者又派生于CObject类,从而,可以知道这个CTestDoc类不是一个窗口类,实际上它是一个文档类。

MFC提供了一个文档/视(Document/View)结构,其中文档就是指CDocument类,视就是指CView类。Microsoft在设计基础类库时,考虑到要把数据本身与它的显示分离开,于是就采用文档类和视类结构来实现这一想法。数据的存储和加载由文档类来完成,数据的显示和修改则由视类来完成,从而把数据管理和显示方法分离开来。文档/视结构是MFC程序的一个重点,后面章节将详细介绍此内容,读者应很好地掌握。

我们回头看看如例3-9所示CTestApp类的InitInstance函数实现代码,可以看到其中定义了一个单文档模板对象指针(①符号所示处的pDocTemplate变量)。该对象把文档对象、框架对象、视类对象有机地组织在一起,程序接着利用AddDocTemplate函数把这个单文档模板添加到文档模板中,从而把这三个类组织成为一个整体。

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?