COleServerItem

CObject
 └CCmdTarget
    └CDocItem
       └COleServerItem


COleServerItem类提供对OLE项的服务器接口。一个链接项可以表示某些或全部服务器文档。一个嵌入项则总是表示整个服务器文档。
COleServerItem类定义了几个可重载的成员函数,这些函数由OLE系统动态链接库(DLL)调用,通常用于响应来自容器应用程序的请求。这些成员函数允许容器应用程序以各种方式间接地对项进行操作,例如显示它,执行它的动词,或以各种格式获取它的数据。
要使用COleServerItem,可从COleServerItem中派生一个新类,并实现OnDraw和Serialize成员函数。OnDraw函数提供项的元文件表示,使它可在容器应用程序打开一个命令文档时显示。CObject的Serialize函数提供项的本机表示,使得一个嵌入项可在服务器应用程序和容器应用程序之间直接传输。OnGetExtent函数提供项的固有对象给容器应用程序,使得容器应用程序可以设置项的大小。
要获取更多有关服务器及其相关话题的信息,请参见“Visual C++程序员指南”中的文章“服务器:实现一个服务器”和文章“容器:高级特征”中的“创建一个容器/服务器应用程序”。
#include <afxole.h>\>
请参阅:COleClientItem, COleServerItem, COleTemplateServer


COleServerItem类成员

状态
GetDocument返回包含此项的服务器文档
GetItemName返回此项的名称。只用于链接项
SetItemName设置此项的名称。只用于链接项
IsConnected指示此项当前是否连接到一个活动的容器应用程序上
IsLinkedItem指示此项是否表示一个链接式OLE项

操作
CopyToClipboard将此项拷贝到剪贴板上
NotifyChanged用自动链接更新来更新所有的容器
DoDragDrop执行一次拖放操作
GetClipboardData获取用于数据传输(拖放或剪贴)的数据源
GetEmbedSourceData获取一个OLE项的CF_EMBEDSOURCE数据
AddOtherClipboardData将显示和转换格式放进一个COleDataSource对象
GetLinkSourceData获取一个OLE项的CF_LINKSOURCE数据
GetObjectDescriptorData获取一个OLE项的CF_OBJECTDESCRIPTOR数据

构造
COleServerItem构造一个COleServerItem对象
GetDataSource获取用于存储转换格式的对象

可重载
OnDraw当容器应用程序请求绘制此项时,调用该函数;需要实现
OnDrawEx用于绘制专用化的项
OnUpdate当此项所属的文档的某部分改变时,调用该函数
OnInitFromData由框架调用该函数,该函数用指定的数据传输对象的内容来初始化一个OLE项
OnGetExtent由框架调用此函数来获取此OLE项的大小
OnSetExtent由框架调用此函数来设置此OLE项的大小
OnGetClipboardData由框架调用此函数来获取将要拷贝到剪贴板中的数据
OnSetColorScheme用于设置项的颜色表
OnSetData用于设置项的数据
OnDoVerb用于执行一个动词
OnQueryUpdateItems用于确定是否有链接项需要更新
OnRenderData获取数据为延迟提供的一部分
OnRenderFileData将数据检取到一个CFile中,作为延迟提供的一部分
OnRenderGlobalData将数据检取到一个HGLOBAL中,作为延迟提供的一部分
OnUpdateItems用于更新服务器文档中所有项的显示高速缓存
OnOpen由框架调用此函数来将此OLE项显示在它自己的顶层窗口中
OnShow当容器应用程序请求显示此项时,调用该函数
OnHide由框架调用该函数来隐藏此OLE项

数据成员
m_sizeExtent通知服务器此OLE项有多少是可见的