COleDataSource

CObject
 └CCmdTarget
    └COleDataSource

COleDataSource类起到缓存的作用。它被用户在数据传输期间,例如剪贴板或拖放操作,为应用存放数据。
可以直接建立一个OLE数据资源。一般地,COleClientItem类 和COleServerItem 类在响应CopyToClipboard 时将会建立OLE数据资源。请参阅COleServerItem:: CopyToClipboard的简单描述。为CopyToClipboard 和DoDragDrop成员函数创建OLE数据资源时,如果要添加另外的剪贴板格式,可覆盖客户项或服务器项的OnGetClipboardData成员函数。
无论何时你准备进行数据的传输,必须先建立该类的一个对象,并用最恰当的格式将数据填写进去。插入数据的方式将直接影响是否数据可以直接提供(立即提供)或响应命令提供(延迟提供)。使用每一种剪贴板格式提供数据(和一个可选的FORMATETC结构),调用DelayRenderData。
有关数据资源和数据传输的信息,请参阅“数据对象和数据源(OLE)”。另外,《Visual C++程序员指南》中的“剪贴板主题” 描述了OLE剪贴板机制。
#include <afxole.h>
请参阅:COleDataObject


COleDataSource类的成员

构造函数
COleDataSource构造一个COleDataSource对象

操作
CacheData使用STGMEDIUM结构以指定方式提供数据
CacheGlobalData使用HGLOBAL以指定方式提供数据
DoDragDrop执行拖放操作。
SetClipboard放置一个COleDataSource对象到剪贴板中。
Empty清空数据的COleDataSource对象
FlushClipboard丢弃剪贴板中的所有数据
GetClipboardOwner验证放置在剪贴板中的数据仍然存在
OnRenderData作为延迟提供数据的一部分存取数据
OnRenderFileData作为延迟提供数据的一部分存取数据到CFile中
OnRenderGlobalData作为延迟提供数据的一部分存取数据到HGLOBAL中
OnSetData替换COleDataSource对象中的数据
DelayRenderData使用延迟提供方式以指定格式提供数据
DelayRenderFileData以指定方式给CFile指针提供数据
DelaySetData为OnSetData中支持的每一种格式调用