Windows程序设计教程 教学课件 作者 郭皞岩 屈景辉 廖琪梅 第11章文档视图界面.ppt

Windows程序设计教程 教学课件 作者 郭皞岩 屈景辉 廖琪梅 第11章文档视图界面.ppt

  1. 1、本文档共78页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Windows程序设计教程 第11章 文档/视图界面 文档/视图结构是在Visual C++中,使用MFC开发基于文档应用程序的基本框架。 在这个框架中,数据的维护及其显示是分别由两个不同的、但又彼此紧密相关的对象——文档和视图负责的。 本章将主要围绕这一结构的各个环节展开讨论,理解这一结构的原理和机制对基于文档/视图结构的MFC应用程序开发具有重要作用。 11.1 基 本 概 念 可以把文档看作是数据容器,而视图则可以看作是查看数据的窗口或是和数据发生交互的窗口。 本节对MFC中文档/视图结构的概念及其应用作进一步介绍。 11.1.1 概述 MFC文档/视图结构是一种新型的应用程序结构,它的优点主要包括:实现了数据存储和显示的分离,提供了常用的标准操作界面,以及支持打印预览功能等。 一般情况下,采用文档/视图结构的应用程序至少应由以下对象组成:应用程序对象(一般为CWinApp派生对象)、框架窗口对象(一般为CFrmeWnd派生对象)、文档对象(一般为CDocument派生对象)、视图对象(一般为CView派生对象)等。 除应用程序对象外,其他对象的关系如图11.1所示。 一个文档可以对应多个不同视图,而一个视图一般只对应一个文档。 当文档数据发生变化时,视图显示的状态也会随之变化;对于多个视图的情况,基于同一文档的多个视图的显示同步变化。 当然,并非所有基于窗口的应用都要使用文档/视图结构,以下两种情况不宜采用文档/视图结构: (1)不是面向数据的应用或数据量很少的应用,不宜采用文档/视图结构,如一些工具程序,包括磁盘扫描程序、过程控制程序等; (2)不使用标准的窗口用户界面的程序,如一些游戏等。 11.1.2 单文档界面(SDI)应用程序 11.1.3 多文档界面(MDI)应用程序 11.2 单文档和多文档界面应用程序的实现 11.2.1 利用AppWizard创建单文档界面应用程序框架 在前面实例中多次使用AppWizard创建单文档界面应用程序框架,其各向导选项采用的是默认设置,本节将详细介绍各向导对话框中选项的含义。 1.AppWizard——第1步 在【MFC AppWizard-Step1】对话框中(如图11.4所示)可以选择所创建的应用程序类型,这里选择“single document”即单文档应用程序。 2.AppWizard——第2步 在第2步中,决定应用程序是否支持和如何支持数据库,如图11.5所示。 3.AppWizard——第3步 在第3步中决定应用程序是否支持以及如何支持复合文档,还可以选择是否支持自动化(Automation)和ActiveX控件,如图11.6所示。 采用默认的选择:不支持复合文档和自动化,支持ActiveX控件。 4.AppWizard——第4步 在第4步中选择应用程序界面的特性,如图11.7所示。 5.AppWizard——第5步 第5步决定AppWizard是否为自动生成的代码添加注释,默认选择为自动生成。 另外,还决定如何使用MFC库,如图11.10所示。 应用程序可以有两种方式使用MFC库:使用MFC动态链接库(As a shared DLL)和使用MFC静态链接库(As a static linked library)。 默认选择为使用MFC动态链接库。 6.AppWizard——第6步 在第6步中可以指定AppWizard所生成的类的名称、头文件和实现文件名称和类的基类,如图11.11所示。 11.2.2 程序框架中的主要类及相互关系 文档/视图结构的应用程序框架中,主要包含5个类:CWinApp类、CFrameWnd类、CView类、CDocument类和CDocTemplate类。 (1)CWinApp类为应用程序类,它是应用程序的起点,负责应用程序的启动。 (2)CFrameWnd类为框架窗口类,它是应用程序的框架窗口。 所谓框架窗口,是指包括菜单、工具栏、状态栏和窗口客户区的整个应用程序的主窗口。 (3)CView类为视图类,专门用来对应用程序的数据进行显示。 在视图类中有一个很重要的函数OnDraw(),一般在派生类中要重写这一函数。 (4)CDocument类为文档类,

文档评论(0)

开心农场 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档