Visual C++.net基础讲座三

原创 2004年11月02日 18:13:00

第二讲 文档数据的读取和显示

  摘要

  本讲先来介绍程序各个类的关联机制,然后讨论文档的读过程及读操作,最后讨论文档数据的显示方法和技巧。
  程序中各用户类的关联

  在上一讲中,我们使用MFC应用程序向导创建一个单文档项目TextViewer。现在,我们打开该项目。可以看出,向导为TextViewer项目创建了以下几个类:

  应用程序类CTextViewerApp,应用程序必须的运行入口,在上一讲已经讨论过。

  主框架窗口类CMainFrame,用来负责窗口的标题栏、菜单、工具栏及状态栏等界面元素的操作。

  文档类CTextViewerDoc,用来负责文档数据的读取和保存

  视图类CTextViewerView类,用来显示文档显示,并可响应各种类型的输入(例如键盘输入)以及实现打印和打印预览等。

  还有一个对话框类CAboutDlg,用来显示该应用程序的版本信息,是一个"关于"对话框。

  需要说明的是,Visual C++ .NET将各个类的声明保存在头文件中,即以.h为扩展名,而将类的实现代码保存在以.cpp为扩展名的实现文件中。

  那么,在MFC中上述的主框架窗口类、文档类和视图类的关系是怎样呢?我们来看一下。

  将解决方案管理器切换到"类视图",展开CTextViewerApp类的所有节点,双击"InitInstance( void )",打开该函数代码。由于Visual C++ .NET的代码注释是中文的,因此我们这里仅给出如图1所示的代码。

 
图1 InitInstance函数中的部分代码

  代码中,CSingleDocTemplate是从CDocTemplate派生的单文档类,它协调了文档窗口、文档和视图的关系,并把三者联系起来。该类的构造函数需要指定四个参数,分别为表示菜单和加速键等的资源ID号以及三个由宏RUNTIME_CLASS指定的CRuntimeClass结构对象指针,它们分别是程序的文档类、框架窗口类和视图类的结构指针。

  CRuntimeClass结构反映一个运行时类的信息,通常用宏RUNTIME_CLASS来获取一个类的CRuntimeClass结构指针。Visual C++借助CRuntimeClass类结构能在应用程序运行过程中获得该类对象及其基类的相关信息,从而可以实现运行时类型检查(Run Time Type Inspection,RTTI)。

  AddDocTemplate用来将指定的单文档模板或多文档模板指针添加到程序所包含内部的文档模板指针列表中。

Visual C++.net 基础讲座一

前言  本文先来较详细地讨论Visual C++的编程方式,然后讨论其学习方法,最后说明本讲座内容的编排。   Visual C++编程方式  2003年5月22日,微软隆重推出三个企业级的产品:Mi...
  • tyt2008cn
  • tyt2008cn
  • 2004年11月02日 18:10
  • 591

Visual C++.net基础讲座二

第1讲 从MFC"类"开始  摘要  本讲先来通过一个简单的MFC应用程序来介绍"类"的有关概念,然后分析其运行机制以及基本MFC类层次结构,最后使用项目模板所提供的MFC应用程序向导来创建一个单文档...
  • tyt2008cn
  • tyt2008cn
  • 2004年11月02日 18:12
  • 506

Visual Studio 2010——第一个Visual C++.NET程序

实验环境:Windows XP,Visual Studio 2010  Ultimate 1 创建项目     1.1 文件>>新建>>项目,选择“其他语言”>>Visual C++,选中“MF...
  • Q1302182594
  • Q1302182594
  • 2013年04月02日 15:56
  • 2653

Visual C++.NET编程基础讲座之四

本讲先来用资源编辑器对菜单和工具栏进行可视化设计,然后讨论命令消息的COMMAND和UPDATE_COMMAND_UI消息映射,并说明了工具按钮和菜单命令的联动方法,最后讨论工具栏的显示和隐藏、快捷菜...
  • ark1111
  • ark1111
  • 2004年10月22日 09:56
  • 840

Visual C++.NET编程基础讲座之二

  本讲先来通过一个简单的MFC应用程序来介绍"类"的有关概念,然后分析其运行机制以及基本MFC类层次结构,最后使用项目模板所提供的MFC应用程序向导来创建一个单文档程序TextViewer。全文阅读...
  • ark1111
  • ark1111
  • 2004年10月21日 13:59
  • 705

Visual C++.NET编程基础讲座之三

本讲先来介绍程序各个类的关联机制,然后讨论文档的读过程及读操作,最后讨论文档数据的显示方法和技巧。 document.write("");全文阅读:Visual C++.NET编程基础讲座之三...
  • ark1111
  • ark1111
  • 2004年10月21日 14:07
  • 913

Visual C++.NET编程基础讲座之一

  2003年5月22日,微软隆重推出三个企业级的产品:Microsoft Windows Server 2003,Visual Studio.NET 2003和SQL Server 2000 企业版...
  • ark1111
  • ark1111
  • 2004年10月21日 13:56
  • 910

Visual C++.NET编程基础讲座之五

  对话框是Windows应用程序中最重要的用户界面元素之一,它是通过对话框上的各种控件来和用户进行交互的。所谓"控件",是指具有一定功能的界面单元,如按钮、编辑框、列表框、组合框等。在这里,我们先来...
  • ark1111
  • ark1111
  • 2004年10月22日 10:04
  • 809

Visual C++.NET编程讲座之一

  前言   本文先来较详细地讨论Visual C++的编程方式,然后讨论其学习方法,最后说明本讲座内容的编排。   Visual C++编程方式  2003年5月22日,微软隆重推出三个企业级的产品...
  • yunfei90
  • yunfei90
  • 2005年09月14日 22:58
  • 732

Visual C++.NET编程讲座之二

第1讲 从MFC"类"开始   摘要  本讲先来通过一个简单的MFC应用程序来介绍"类"的有关概念,然后分析其运行机制以及基本MFC类层次结构,最后使用项目模板所提供的MFC应用程序向导来创建一个单文...
  • yunfei90
  • yunfei90
  • 2005年09月14日 23:02
  • 832
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Visual C++.net基础讲座三
举报原因:
原因补充:

(最多只允许输入30个字)