剪貼簿:加入其他格式
本主題說明如何擴充支援格式清單,特別是 OLE 支援。 主題 剪貼簿:複製並貼上資料 描述複製和貼上剪貼簿的最低實作支援。 如果這是您所有實作,在剪貼簿上的唯一的格式為 CF_METAFILEPICT、、 CF_OBJECTDESCRIPTOR和 CF_EMBEDSOURCE,也可能是 CF_LINKSOURCE。 大部分的應用程式在剪貼簿需要比這三個更多格式。
註冊自訂格式
若要建立自訂的格式,請依照您使用的同一個程序註冊任何自訂剪貼簿格式:傳遞格式名稱至 RegisterClipboardFormat 函式並使用它的傳回值做為格式識別碼 .
將格式置於剪貼簿
若要加入更多的格式至剪貼簿上的項目,您必須覆寫您從 COleClientItem 或 COleServerItem 衍生之類別的 OnGetClipboardData 函式 (根據複製的資料是否原生)。 在這個函式,您應該使用下列程序。
將格式置於剪貼簿
建立 COleDataSource 物件。
藉由呼叫 COleDataSource::CacheGlobalData 將資料來源傳送至加入您的原生資料格式至支援的格式清單的函式。
藉由呼叫您要支援的每個標準格式的 COleDataSource::CacheGlobalData 加入標準格式。
這項技術用於 MFC OLE 範例程式 HIERSVR (請檢查 CServerItem 類別的 OnGetClipboardData 成員函式)。 在這個範例的唯一差別在於第三個步驟不會實作,因為 HIERSVR 沒有支援其他標準格式。