COleDocument
COleDocument是OLE文档的基类,它支持可视化编辑。
COleDocument从CDocument派生来,这使你的OLE应用程序能够使用由微软基础类库提供的文档/视结构。
COleDocument将文档当作一个处理OLE项的CDocItem对象的集合。容器和服务器应用都需要这样的结构,因为它们的文档必须能够包容OLE项。类COleServerItem和类COleClientItem都从CDocItem派生而来,它们管理应用程序与OLE项之间的相互作用。
如果你正在编写一个简单的容器应用程序,最好从COleDocument派生出你的文档类。如果你正在编写一个支持链接到文档包含的嵌入项的容器应用程序,最好从COleLinkingDoc派生出你的文档类。如果你正在编写一个服务器应用程序或者是组合容器/服务器,最好从COleServerDoc派生出你的文档类。COleLinkingDoc和COleServerDoc是从COleDocument派生而来的,因此这些类继承了所有在COleDocument和CDocument中具有的服务。
要使用COleDocument,可以从它派生出一个类,并添加一些功能用来管理应用中除嵌入或链接项外的其它非OLE数据。如果你将从CDocItem派生而来的类定义为用来保存应用的内部数据,你可以使用由COleDocument定义的工具来保存你的OLE数据和非OLE数据。也可以设计你自己的数据结构来保存你的非OLE数据,以区别于你的OLE 项。更多的信息,参见“Visual C++程序员指南”一书中的文章“容器:复合文件”。
如果提供了邮件支持(MAPI)的话,CDocument支持将你的文档通过邮件发送。COleDocument已经更新了OnFileSendMail,可以正确处理捆绑在一起的文档。更多的信息,参见“Visual C++程序员指南”一书中的文章“MAPI主题”和“MFC中的MAPI支持”。
#include <afxole.h>
COleDocument类成员
构造COleDocument构造一个COleDocument对象
操作HasBlankItems检查文档中的空项EnableCompoundFile使文档能够被用OLE结构保存文件格式来保存GetInPlaceActiveItem返回当前正处于活动状态的OLE项GetStartPosition获得开始重复的初始位置GetNextItem获取下一个要重复的文档项GetNextClientItem获取下一个要重复的客户项GetNextServerItem获取下一个要重复的服务器项UpdateModifiedFlag如果任何一个被包容的OLE项被修改,则标记该文档为已被修改ApplyPrintDevice为文档中的所有客户项设置打印目标设备AddItem向文档保持的项列表中添加一个项RemoveItem从文档保持的项列表中移走一个项
重载GetPrimarySelectedItem返回文档中最初选择的OLE项OnShowViews在文档变为可见和不可见时被调用
邮件函数OnFileSendMail发送一个附着有文档的邮件消息
消息处理OnEditChangeIcon处理Change Icon菜单命令中的事件OnEditConvert处理一个嵌入或链接对象从一种类型到另一种类型的转换OnEditLinks处理Edit菜单上的Links命令中的事件
消息处理OnUpdateEditChangeIcon由框架调用来更新Edit/Change Icon菜单选项的命令UIOnUpdateEditLinksMenu由框架调用来更新Edit/Links菜单选项的命令UIOnUpdateObjectVerbMenu由框架调用来更新Edit/Object Name菜单选项和从Edit/ObjectName访问的Verb子菜单的命令UI
消息处理OnUpdatePasteLinkMenu由框架调用来更新Paste Special菜单选项的命令UIOnUpdatePasteMenu由框架调用来更新Paste菜单选项的命令UI