剪貼簿:加入其他格式
本主題說明如何展開支援的格式清單,特別是 OLE 支援。 剪貼簿:複製和貼上資料 主題 描述支援從剪貼簿複製和貼上所需的最低實作。 如果您實作這一切,則剪貼簿上唯一放置的格式是 CF_METAFILEPICT、 CF_EMBEDSOURCE 、 CF_OBJECTDESCRIPTOR ,而且可能 CF_LINKSOURCE 。 大部分的應用程式在剪貼簿上需要比這三種格式更多的格式。
註冊自訂格式
若要建立自己的自訂格式,請遵循註冊任何自訂剪貼簿格式時所使用的相同程式:將格式的名稱傳遞至 RegisterClipboardFormat 函式,並使用其傳回值做為格式識別碼。
在剪貼簿上放置格式
若要在剪貼簿上新增更多格式,您必須覆寫 OnGetClipboardData
衍生自 COleClientItem
或 COleServerItem
的類別中的 函式(視要複製的資料是否為原生)。 在此函式中,您應該使用下列程式。
在剪貼簿上放置格式
建立
COleDataSource
物件。將此資料來源傳遞至函式,此函式會藉由呼叫
COleDataSource::CacheGlobalData
,將原生資料格式新增至支援的格式清單。呼叫
COleDataSource::CacheGlobalData
您想要支援的每個標準格式,以新增標準格式。
這項技術用於 MFC OLE 範例程式 HIERSVR (檢查 OnGetClipboardData
CServerItem 類別的成員函 式)。 此範例中唯一的差異在於步驟 3 並未實作,因為 HIERSVR 不支援其他標準格式。