网站大量收购独家精品文档,联系QQ:2885784924

第15章单文档和多文档概述.ppt

  1. 1、本文档共50页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 文本与字体 Huang Weitong 第15章 文档类与视图类 及其应用 内容提要 概述 文档类 视图类 文档模板类 编写单文档应用程序 编写多文档应用程序 §15.1. 概述 1.单文档界面与多文档界面 2.视图 3. 文档/视图结构 4.Doc/View框架的主要成员 Doc/View框架虽然可以调用成百上千个不同的类,但是核心类只有五个: CWinApp CDocument CView CDocTemplate CFrameWnd CWinApp 类 CFrameWnd类 CFrameWnd类在Doc/View结构中起着举足轻重的作用。 框架窗口维护了很多幕后的工作,例如工具条、菜单、状态条的显示、更新,视图的位置和显示,其它可停靠空间的停靠和动态尺寸调整。许多默认为MFC应用程序应该具备的基本功能都是CframeWnd类在完成 §15.2. 文档及其派生类 1. 文档类 所有文档类都以CDocument类为基类。 CDocument类是CCmdTarget类派生的。 在Afxwin.h中定义CDocument类。 2.CDocument类的方法 CDocument类提供了文档类所需最基本功能,有两类方法: 一般方法 虚拟方法 3. CDocument类的派生类构造 构造CDocument类的派生类的基本步骤: 为每一个文档类型从CDocument类(或其派生类)派生一个相应的文档类; 为文档类添加成员变量。这些成员变量用来保存文档的数据; 重载Serialize成员函数,实现文档数据的串行化。 文档的数据保存到成员变量,便于其他对象的访问。 串行化由函数Serialize()实现,它有一个参数是与所打开的文件相关对象CArchive,进行文档的读或写单一操作的对象。 §15.3. 视图及其派生类 1. 视图类 视图类CView是CWnd类直接派生的。 CView及其派生类都具有CWnd的所有功能,如:创建、移动、显示、和隐藏窗口等,可接受任何Windows消息。 在Afxwin.h中定义CView类。 3. CView类的派生类 CEditView——支持类似编辑控件所要实现的功能,常见的文本操作,多由该类实现。其直接基类不是CView类,而是类CCtrlView。 CRichEditView——支持Rich文本操作。(Rich文本既可以为文本,也可以为图形的一种特殊格式文本) CTreeView——支持树型控件所实现的功能,使数据的显示方式更富于变化。 ListView——类似于CTreeView,提供了一种简捷地实现数据的不同显示的途径。 CScrollView——提供视图的滚动显示。是CView直接派生类。 §15.4. 文档模板类 1.CDocTemplate类 CDocTemplate类的基类为CCmdTarget。 在Afxwin.h中定义CDocTemplate类。 2. CDocTemplate类的基本函数 3. CDocTemplate类的函数使用 文档类、视图类及框架窗口都由文档模板创建。 每一种文档类型都有与之相对应的一种文档模板,负责创建和管理该文档类型的所有文档。 创建过程顺序:创建文档 → 创建框架窗口 → 创建视图。 文档、视图和框架窗口三者之间是相互关联、相互协调的,彼此都包含了指向对方的指针。 3. CDocTemplate类的函数使用(续) 通过文档模板的构造函数来实现文档、视图和框架窗口之间的联系,构造函数的原型如下: CDocTemplate ( UINT nIDResource, //各种资源的资源标识符 CRuntimeClass* pDocClass,//指向派生文档类的指针 CRuntimeClass* pFrameClass,//指向派生框架类指针 CRuntimeClass* pViewClass //指向CView派生类指针 ); §15.5. 编写单文档应用程序 程序添加如图所示的对话框。并使用ClassWizard为对话框生成CDialog类的派生类CDlgInput,并为其中的EditBox控件(其ID为IDC_EDIT1)添加相关联的成员变量m_input,其类型为CString。 为CMysdiDoc类添加成员变量可有两种做法 用可视化编程工具,步骤如下: 在Workspace窗口的ClassView选项卡中展开Mysdi Class,右击CMysdiDoc; 在弹出菜单中,单击Add Member Variable; 输入变量类型为CString, 变量名m_str, 访问类型public: 单击 OK。 手工添加成员变量,步骤如下:

文档评论(0)

花仙子 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档