⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 chap7_1.htm

📁 VC++编程实例。非常详细
💻 HTM
字号:
<html>

<head>
<meta http-equiv="Content-Type"
content="text/html; charset=gb_2312-80">
<meta name="GENERATOR" content="Microsoft FrontPage Express 2.0">
<title>7.1文档/视图概念</title>
<link rel="stylesheet" href="../../../cpcw.css"></head>

<body link="#3973DE" alink="#3973DE" background="../../bg.gif">
<div align="center"><center>

<table border="0" cellpadding="0" cellspacing="0" width="85%">
      <tr bgcolor="#FFFFFF"> 
        <td> 
          <div align="center"><center><table border="0"
        cellpadding="0" cellspacing="0" width="615" height="20">
            <tr>
                <td width="377" bgcolor="#15397D" height="20"><font
                size="5"></font> </td>
                <td width="238" bgcolor="#000000" height="20"><p
                align="right"><a href="../../index.htm"><span style="text-decoration: none"><font
                color="#FFFFFF">电脑报Visual C++网络教程</font></span></a></p>
                </td>
            </tr>
        </table>
        </center></div>
          <p align="center"><font color="#FF3333" face="Times New Roman"><b>7.1</b></font><b><font color="#FF3333">文档</font><font color="#FF3333" face="Times New Roman">/</font><font color="#FF3333">视图概念</font></b></p>
        <p><font color="#3973DE" face="Times New Roman">7.1.1</font><font
        color="#3973DE">概念</font></p>
          <p><font>   在文档视结构里,文档是一个应用程序数据基本元素的集合,它构成应用程序所使用的数据单元;另外它还提供了管理和维护数据的手段。</font></p>
          <p><font>  文档是一种数据源,数据源有很多种,最常见的是磁盘文件,但它不必是一个磁盘文件,文档的数据源也可以来自串行口、网络或摄像机输入信号等。在第十二章“多线程和串行通信编程”中,我们展示了如何使用串行口作为数据输入的文档</font><font  face="Times New Roman">/</font><font >视结构程序。文档对象负责来自所有数据源的数据的管理。</font></p>
          <p><font>  视图是数据的用户窗口,为用户提供了文档的可视的数据显示,它把文档的部分或全部内容在窗口中显示出来。视图还给用户提供了一个与文档中的数据交互的界面,它把用户的输入转化为对文档中数据的操作。每个文档都会有一个或多个视图显示,一个文档可以有多个不同的视图。比如,在</font><font  face="Times New Roman">Excel</font><font >电子表格中,我们可以将数据以表格方式显示,也可以将数据以图表方式显示。一个视图既可以输出到窗口中,也可以输出到打印机上。</font></p>
        <p><font >图</font><font 
        face="Times New Roman">7-1</font><font >说明了文档及其视图之间的关系。</font></p>
        <p align="center"><font ><img src="T7_1.gif"
        alt="T7_1.tif (144248 bytes)" width="351" height="283"></font></p>
        <p align="center"><font >图 </font><font  face="Times New Roman">7-1 </font><font >文档和视图</font></p>
          <p><font  face="Times New Roman">  MFC</font><font >的文档</font><font 
        face="Times New Roman">/</font><font >视结构机制把数据同它的显示以及用户对数据的操作分离开来。所有对数据的修改由文档对象来完成。视图调用这个对象的方法来访问和更新数据。</font></p>
        <p><font color="#3973DE"  face="Times New Roman">7.1.2</font><font
        color="#3973DE" >两类文档视结构程序</font></p>
          <p><font >  有两种类型的文档视结构程序:单文档界面(</font><font  face="Times New Roman">SDI</font><font >)应用程序和多文档界面(</font><font  face="Times New Roman">MDI</font><font >)应用程序。</font></p>
          <p><font >  在单文档界面程序中,用户在同一时刻只能操作一个文档。象</font><font  face="Times New Roman">Windows95</font><font >下的</font><font 
        face="Times New Roman">NotePad</font><font >记事本程序(如图</font><font  face="Times New Roman">7-2</font><font >所示)就是这样的例子。在这些应用程序中,打开文档时会自动关闭当前打开的活动文档,若文档修改后尚未保存,会提示是否保存所做的修改。因为一次只开一个窗口,因此不象</font><font  face="Times New Roman">WORD</font><font >那样需要一个窗口菜单。单文档应用程序一般都提供一个</font><font  face="Times New Roman">File</font><font >菜单,在该菜单下有一组命令,用于新建文档(</font><font  face="Times New Roman">New</font><font >)、打开已有文档(</font><font  face="Times New Roman">Open</font><font >)、保存或换名存盘文档等。这类程序相对比较简单,常见的应用程序有终端仿真程序和一些工具程序。</font></p>
        <p align="center"><img src="T7_2.gif"
        alt="T7_2.tif (234336 bytes)" width="476" height="391"></p>
        <p align="center"><font >图</font><font 
        face="Times New Roman">7-2 </font><font >单文档程序(记事本)</font></p>
          <p><font >  一个多文档界面应用程序也能操作文档,但它允许同时操作多个文档。如图</font><font  face="Times New Roman">7-2</font><font >,</font><font  face="Times New Roman">Microsoft 
            Word</font><font >就是这样的例子。你可以打开多个文件(同时也就为每个文件打开一个窗口),可以通过切换活动窗口激活相应的文档进行编辑。多文档应用程序也提供一个</font><font  face="Times New Roman">File</font><font >菜单,用于新建、打开、保存文档。与单文档应用程序不同的是,它往往还提供提供一个</font><font  face="Times New Roman">Close(</font><font >关闭</font><font 
        face="Times New Roman">)</font><font >菜单项,用于关闭当前打开的文档。多文档应用程序还提供一个窗口菜单,管理所有打开的子窗口,包括对子窗口的新建、关闭、层叠、平铺等。关闭一个窗口时,窗口内的文档也被自动关闭。在这一章里,我们只讨论单文档界面应用程序的编制,有关多文档技术在下一章里再做讨论。</font></p>
        <p align="center"><img src="T7_3.gif"
        alt="T7_3.tif (258750 bytes)" width="536" height="368"></p>
        <p align="center"><font ><b>图</b></font><font  face="Times New Roman"><b>7-3 </b></font><font ><b>多文档程序(</b></font><font 
        face="Times New Roman"><b>Microsoft Word</b></font><font ><b>)</b></font></p>
        <p><font color="#3973DE"  face="Times New Roman">7.1.3</font><font
        color="#3973DE" >使用文档</font><font
        color="#3973DE"  face="Times New Roman">/</font><font
        color="#3973DE" >视结构的意义</font></p>
          <p><font >  文档视结构的提出对于广大程序员来说是一个福音,它大大简化了多数应用程序的设计开发过程。文档视结构带来的好处主要有:</font></p>
        <blockquote>
            <p><font  face="Times New Roman">a. </font><font >首先是将数据操作和数据显示、用户界面分离开。这是一种“分而治之”的思想,这种思想使得模块划分更加合理、模块独立性更强,同时也简化了数据操作和数据显示、用户界面工作。文档只负责数据管理,不涉及用户界面;视图只负责数据输出与用户界面的交互,可以不考虑应用程序的数据是如何组织的,甚至当文档中的数据结构发生变化时也不必改动视图的代码。</font></p>
            <p><font  face="Times New Roman">b.MFC</font><font >在文档</font><font 
            face="Times New Roman">/</font><font >视结构上提供了许多标准操作界面,包括新建文件、打开文件、保存文件、打印等,减轻了用户的工作量。用户不必再书写这些重复的代码,从而可以把更多的精力放到完成应用程序特定功能的代码上:主要是从数据源中读取数据和显示。</font></p>
            <p><font  face="Times New Roman">c. </font><font >支持打印预览和电子邮件发送功能。用户无需编写代码或只需要编写很少的代码,就可以为应用程序提供打印预览功能。同样的功能如果需要自己写的话,需要数千行的代码。另外,</font><font  face="Times New Roman">MFC</font><font >支持在文档视结构中以电子邮件形式直接发送当前文档的功能,当然本地要有支持</font><font  face="Times New Roman">MAPI</font><font >(微软电子邮件接口)的应用程序,如</font><font  face="Times New Roman">Microsoft Exchange</font><font >。可以这样理解:</font><font  face="Times New Roman">MFC</font><font >已经把微软开发人员的智慧和技术溶入到了你自己的应用程序中。</font></p>
        </blockquote>
          <p><font >  由于文档视结构功能如此强大,因此一般我们都首先使用</font><font  face="Times New Roman">AppWizard</font><font >生成基于文档</font><font 
        face="Times New Roman">/</font><font >视结构的单文档或多文档框架程序,然后在其中添加自己的特殊代码,完成应用程序的特定功能。但是,并非所有基于窗口的应用程序都要使用文档</font><font  face="Times New Roman">/</font><font >视结构。象</font><font  face="Times New Roman">Visual 
            C++</font><font >随带的例子</font><font 
        face="Times New Roman">Hello</font><font >、</font><font  face="Times New Roman">MDI</font><font >都没有使用文档</font><font  face="Times New Roman">/</font><font >视结构。有两种情况不宜采用文档、视结构:</font></p>
        <blockquote>
            <p><font >(</font><font 
            face="Times New Roman">1</font><font >)不是面向数据的应用或数据量很少的应用程序,不宜采用文档</font><font  face="Times New Roman">/</font><font >视结构。如一些工具程序包括磁盘扫描程序、时钟程序,还有一些过程控制程序等。</font></p>
            <p><font >(</font><font 
            face="Times New Roman">2</font><font >)不使用标准的窗口用户界面的程序,象一些游戏等。</font></p>
        </blockquote>
        <div align="center"><center><table border="0"
        cellpadding="0" cellspacing="0" width="615">
            <tr>
                <td><a href="chap7.htm">上一页</a></td>
                <td><p align="right"><a href="chap7_2.htm">下一页</a></p>
                </td>
            </tr>
        </table>
        </center></div><hr size="1" noshade color="#3973DE">
        <p align="center"><font color="#000000" size="2">本教程由</font><a
        href="http://vcdynasty.yeah.net"><font color="#000000"
        size="2">Visual C++王朝(Where programmers come
        together)</font></a><font color="#000000" size="2">协助制作<br>
        未经许可,请勿以任何形式复制</font></p>
        </td>
    </tr>
</table>
  </center>
</div>

</body>
</html>

⌨️ 快捷键说明

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