17xie > VC++深入详解 > 3.2.5 文档/视类结构
背景:                 
[本书目录] [图书首页] [本书讨论区]  
链接地址:http://www.17xie.com/read-36313.html    注册17xie 一起来写书 实现您的出书梦想!

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函数把这个单文档模板添加到文档模板中,从而把这三个类组织成为一个整体。


字数:660    最后更新:8个月以前 [03-13 21:48]happyskynet 修改
本页编辑者:happyskynet  
[前一页]:3.2.4 窗口过程函数  [后一页]:3.2.6 帮助对话类
[在本页中加入书签] [收藏本书] [推荐本书]
  17xie论坛 > 本书讨论区 > 本页评论   (共0条)
发表评论

用户名称 匿名发表
评论内容
验证码

关于我们 | 版权声明 | 免责声明 | 诚聘英才 | 联系我们 | 合作伙伴 | 友情链接 | 广告合作 | 提交意见
Copyright © 2007 17xie.com 互联网协同写书平台 京ICP备08002671号