字体
第(1/5)页
关灯
   存书签 书架管理 返回目录
    它使得对文档的磁盘读写cāo作变得简单易行。本节将详细介

    绍串行化的基础知识,包括文档的基本结构、用Serialize()函数实现串行化、与串行化相关的

    类,以及在文档视图中添加串行化代码4 个部分。

    8.1.1 文档类

    在文档视图结构中,文档的任务通常是对数据进行管理和维护。数据一般都被保存在文

    档类的成员变量中。而在MFC 中,文档类通过一个称为串行化(Serialize)的过程将数据保

    存到磁盘文件中或者将数据从磁盘文件中读取。文档类为数据的串行化提供了默认的支持,

    并将其作为可重载函数,只需重载这些成员函数就可以为程序提供自定义的串行化支持。

    文档类在文档视图结构中主要完成以下几个任务。

    ? 在内存中保存应用程序特定的数据,并对其进行管理,同时提供给视图类进行显示。

    ? 提供用于cāo作文档数据的接口。

    ? 参与写文件和读文件。通过串行化功能,文档类可以将数据从文件中读出或者写入。

    ? 参与打印输出。这个任务主要通过视图类访问文档进行。

    ? 处理跟文档有关的命令消息。这些命令包括菜单项、工具栏按钮或快捷键生成的命令。

    默认情况下,文档类使用序列化处理“文件”菜单的“保存”和“另存为”命令。还

    可以为其他跟文档相关的自定义命令添加相应的处理函数。

    为了完成上述的任务,文档类的基类CDoccomnt 提供了下列一些成员函数。

    1.处理文档数据与文件相关的cāo作的函数

    (1)GetTitle()和SetTitle()

    这两个函数作为一组,前者用于获取文档的标题,后者用于设置文档标题。原型为:

    枫叶文学网www.fywxw.com

    第8 章 文件cāo作

    ·175·

    const CString& GetTitle( ) const;

    virtual void SetTitle(

    LPCTSTR lpszTitle

    );

    (2)GetPathNcom()和SetPathNcom()

    这两个函数用于处理文档保存的路径。前者用于获得文档保存路径的字符串,后者设置

    该路径。原型为:

    const CString& GetPathNcom( ) const;

    virtual void SetPathNcom(

    LPCTSTR lpszPathNcom,

    BOOL bAddToMRU = TRUE

    );

    参数bAddToMRU 用于确定是否将路径添加到最近打开的文档列表中。

    2.GetDocTemplate()

    该函数用于获得文档模板对象的指针。原型为:

    CDocTemplate* GetDocTemplate( ) const;

    3.处理文档类和视图类的关系的函数

    (1)AddView()

    该函数用于向与文档相关联的视图列表中添加指定的视图。原型为:

    void AddView(

    CView* pView

    );

    参数pView 指向
上一章 目录 下一页