可以直接建立一個OLE數據資源。一般地,COleClientItem類 和COleServerItem 類在回響CopyToClipboard 時將會建立OLE數據資源。請參閱COleServerItem:: CopyToClipboard的簡單描述。為CopyToClipboard 和DoDragDrop成員函式創建OLE數據資源時,如果要添加另外的剪貼簿格式,可覆蓋客戶項或伺服器項的OnGetClipboardData成員函式。
無論何時你準備進行數據的傳輸,必須先建立該類的一個對象,並用最恰當的格式將數據填寫進去。插入數據的方式將直接影響是否數據可以直接提供(立即提供)或響應命令提供(延遲提供)。使用每一種剪貼簿格式提供數據(和一個可選的FORMATETC結構),調用DelayRenderData。
#include <afxole.h>
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中支持的每一種格式調用 |