正在加载图片...
第12单元文档/视图结构 245 ()函数并编写自己的文档清理代码。 文档类的 OnOpen Document()成员函数在调用 Delete Contents()函数后,将文档修 改标记设置为 FALSE(未修改),然后调用 Serialize()进行文档的串行化工作 文档类的 On NewDocument()成员函数首先调用 DeleteContents(),并将文档修改标 志改为 FALSE(关闭窗口时将根据文档修改标志决定是否提示用户保存文档)。 文档类的成员函数 SetModifiedFlag()的作用是设置数据修改标志,其原型为 void Set Modified Flag( BOOL bModified= TRUE 其中参数 bModified用于说明数据是否被修改(缺省值为数据被修改)。一旦设置将数据修 改标志设置为被修改,则在打开另一个文件或结束程序运行时会弹出一个对话框,提醒用户 是否保存文档。该函数通常是在重载的视图类消息处理成员函数中通过文档指针调用。 127文档/视图结构中各类对象之间的协作关系 在应用程序运行过程中,以上几种类型的对象相互协作处理菜单命令和消息。唯一的 个应用程序类对象管理一个或多个文档模板,每个文档模板创建和管理一个(SDI)或多个 文档(MDI)。用户通过包含在框架窗口中的视图来浏览和操作文档中的数据 自学内容 128集合类 集合类是用来容纳和处理一组对象或变量的MFC类,每个集合类对象可以看作一个单 独的对象。集合类的成员函数可作用于集合的所有元素。MFC提供两种类型的集合类,即 基于模板的集合类和非基于模板的集合类。无论是否基于模板,MFC的集合类均为 CObject 派生类,支持序列化和诊断转储等特性。 根据对象在集合中的组织和存储方式,集合类又可分为三种类型:链表、数组和映射 其中数组类提供动态可扩展和压缩的对象数组:链表类提供有序的双向元素链表。链表的优 点是可以快速地插入或删除表内的元素,而映射类提供建立以关键字为基础的映射表 1281非基于模板的集合类 非基于模板的集合类用于描述一组预先定义的数据类型(如 CObject类和 CString类等) 的元素集合。如果要在程序中使用非基于模板的集合类,需在程序中包含头文件 afxcoll!h MFC的非基于模板的集合类有许多,以下是其中几个比较常用的 类名 说明 CObAr 动态可扩展 CObject指针数组 CPtrArray 动态可扩展void指针数组第 12 单元 文档/视图结构 - 245 - ()函数并编写自己的文档清理代码。 文档类的 OnOpenDocument()成员函数在调用 DeleteContents()函数后,将文档修 改标记设置为 FALSE(未修改),然后调用 Serialize()进行文档的串行化工作。 文档类的 OnNewDocument()成员函数首先调用 DeleteContents(),并将文档修改标 志改为 FALSE(关闭窗口时将根据文档修改标志决定是否提示用户保存文档)。 文档类的成员函数SetModifiedFlag()的作用是设置数据修改标志,其原型为 void SetModifiedFlag ( BOOL bModified = TRUE ); 其中参数 bModified 用于说明数据是否被修改(缺省值为数据被修改)。一旦设置将数据修 改标志设置为被修改,则在打开另一个文件或结束程序运行时会弹出一个对话框,提醒用户 是否保存文档。该函数通常是在重载的视图类消息处理成员函数中通过文档指针调用。 12.7 文档/视图结构中各类对象之间的协作关系 在应用程序运行过程中,以上几种类型的对象相互协作处理菜单命令和消息。唯一的一 个应用程序类对象管理一个或多个文档模板,每个文档模板创建和管理一个(SDI)或多个 文档(MDI)。用户通过包含在框架窗口中的视图来浏览和操作文档中的数据。 自学内容 12.8 集合类 集合类是用来容纳和处理一组对象或变量的 MFC 类,每个集合类对象可以看作一个单 独的对象。集合类的成员函数可作用于集合的所有元素。MFC 提供两种类型的集合类, 即 基于模板的集合类和非基于模板的集合类。无论是否基于模板,MFC 的集合类均为 CObject 派生类,支持序列化和诊断转储等特性。 根据对象在集合中的组织和存储方式,集合类又可分为三种类型:链表、数组和映射。 其中数组类提供动态可扩展和压缩的对象数组;链表类提供有序的双向元素链表。链表的优 点是可以快速地插入或删除表内的元素,而映射类提供建立以关键字为基础的映射表。 12.8.1 非基于模板的集合类 非基于模板的集合类用于描述一组预先定义的数据类型(如 CObject 类和 CString 类等) 的元素集合。如果要在程序中使用非基于模板的集合类,需在程序中包含头文件 afxcoll.h。 MFC 的非基于模板的集合类有许多,以下是其中几个比较常用的: 类名 说明 CObArray 动态可扩展 CObject 指针数组 CPtrArray 动态可扩展 void 指针数组
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有