COleClientItem
COleClientItem类定义了OLE项的包容器界面。OLE项代表由服务器应用建立并维护的数据,它可以“无缝地”和文档合成一体,成为“复合文档”,而在用户看来就如同一个单一的文档一样。“复合文档”由OLE项和一包含文档组成。
OLE项可以嵌入或者是链接到复合文档中。当嵌入时,它作为复合文档的一部分进行存储。如果是链接的,数据存储在由服务器应用建立的分离的文件中,而仅把指向它的一个链接存到复合文档中。所有的OLE项包含有说明被调用来编辑它们的服务器应用的信息。
COleClientItem定义了一些可重载的函数,用以响应从服务器应用发出的请求;它们以通知的形式发生作用。这使得服务器应用能将用户编辑OLE项所作的修改通知包容器,或在用户编辑的同时获取相关的信息。COleClientItem能同COleDocument, COleLinkingDoc或COleServerDoc等类一起使用。使用COleClientItem时, 从COleClientItem 派生一个类,执行OnChange成员函数,定义怎样将对项的修改通知包容器。若要支持就地激活的功能,得重载OnGetItemPosition 成员函数。该函数提供了OLE项的显示位置的有关信息。
注意:
OLE文档中,“对象(objects)”指的是嵌入或链接项本身;而“类(classes)”则指的是项的类型。
#include <afxole.h>
COleClientItem成员函数
构造函数
COleClientItem构造一个COleClientItem对象
创建CreateFromClipboard从剪贴板中创建一个嵌入项CreateFromData从一个数据对象创建一个嵌入项CanCreateFromData指示一个包容器应用是否能创建一个嵌入对象CreateFromFile从一个文件创建一个嵌入项CreateStaticFromClipboard从剪贴板创建一个静态项CreateStaticFromData从一个数据对象创建一个静态项CreateLinkFromClipboard从剪贴板创建一个链接项CreateLinkFromData从一个数据对象创建一个链接项CanCreateLinkFromData指示一个包容器应用是否能创建一个嵌入对象CreateLinkFromFile从一个文件创建一个链接项CreateNewItem启动服务器应用创建一个新的嵌入项CreateCloneFrom创建一个已经存在的项的拷贝
状态GetLastStatus返回上一次OLE操作的状态GetIconFromRegistry检索与特定CLSID服务器相关的图标的句柄GetType返回OLE项的类型(嵌入、链接或静态)GetExtent返回OLE项的矩形边界GetCachedExtent返回OLE项的矩形边界GetClassID获取给定项的类标识GetUserType获取描述项类型的字符串GetIconicMetafile获取用以描绘项的图标的元文件SetIconicMetafile将用以描绘项的图标的元文件存入缓存GetDrawAspect获取显示项的当前视图SetDrawAspect设置显示项的当前视图GetItemState获取项的当前状态GetActiveView获取项被就地激活的视图IsModified如果项在上次保存后被修改了,则返回TRUEIsRunning如果项的服务器应用正在运行,则返回TRUEIsInPlaceActive如果项处于就地激活状态,则返回TRUEIsOpen如果项在服务器应用中处于打开状态,则返回TRUE
数据存取GetDocument返回包含给定项的COleDocument对象AttachDataObject存取OLE对象中的数据
对象转换ConvertTo转换项到另一类型ActivateAs激活项为另一类型Reload在调用ActivateAs后重载项
剪贴板操作CanPaste指示剪贴板中是否包含有可重载或静态的OLE项CanPasteLink指示剪贴板中是否包含有可链接的OLE项DoDragDrop执行一次拖放操作CopyToClipboard将OLE项复制到剪贴板中GetClipboardData获取剪贴板中的数据。这些数据可能是调用CopyToClipboard成员函数后放置在剪贴板中的
一般操作Close关闭OLE项指向服务器的一个链接,但不销毁OLE项本身Release释放OLE链接项的链接,如果处于打开状态则关闭它。释放操作也不销毁客户项本身Delete如果是一个链接的OLE项,则删除或关闭它Draw绘制OLE项Run运行和项相关的应用SetPrintDevice设置该客户项的打印目标设备
激活Activate打开OLE项进行操作,并执行指定的动作DoVerb执行指定动作Deactivate释放激活项DeactivateUI恢复包容器应用的用户界面到初始状态ReactivateAndUndo重新激活项,并撤消上次的就地编辑操作SetItemRects设置项的矩形边界GetInPlaceWindow返回项的就地编辑窗口的指针
嵌入对象操作SetHostNames编辑OLE项,设置服务器显示的名字SetExtent设置OLE项的边界矩形
链接对象操作和状态GetLinkUpdateOptions返回链接项的更新模式 (高级特性)SetLinkUpdateOptions设置链接项的更新模式 (高级特性)UpdateLink更新项的描述缓存IsLinkUpToDate如果一个链接项和它的资源文档是最新的,则返回TRUE
重载函数OnChange服务器改变OLE项时调用。要求重实现OnGetClipboardData框架调用以获取复制到剪贴板的数据OnInsertMenus框架调用以创建一个混合菜单条OnSetMenu框架调用以安装和删除一个混合菜单OnRemoveMenus框架调用以从一个混合菜单中删除包容器菜单OnUpdateFrameTitle框架调用以更新框架窗口的标题栏OnShowControlBars框架调用以显示或隐藏控件条OnGetItemPosition框架调用以项的相对视图的位置OnScrollBy框架调用以滚动项到视图内OnDeactivateUI当服务器删除用户界面时,由框架调用OnDiscardUndoState框架调用以丢弃项的撤消操作状态信息OnDeactivateAndUndo框架调用以在激活后进行撤消操作OnShowItem框架调用以显示OLE项CanActivate框架调用以判定是否允许就地激活OnActivate框架调用以通知已经激活的项OnActivateUI框架调用以通知已经激活的并且需要显示用户界面的项OnGetClipRect框架调用以取得项的剪切矩形坐标OnGetWindowContext当项就地激活时,由框架调用OnDeactivate当项取消时,由框架调用OnChangeItemPosition当项位置改变时,由框架调用