剪贴板:添加其他格式

本主题说明如何扩展支持的格式列表,具体而言 OLE 支持的。 主题 剪贴板:复制和粘贴数据 描述需要最小实现支持从剪贴板复制和粘贴。 如果这是所有您实现,放置在剪贴板上的格式为 CF_METAFILEPICTCF_EMBEDSOURCECF_OBJECTDESCRIPTOR及可以 CF_LINKSOURCE。 大多数应用程序的这三需要剪贴板上的多格式。

注册自定义格式

要创建自己的自定义格式,请按照您使用的同一个过程时注册任何自定义格式剪贴板:传递的格式化名称为 RegisterClipboardFormat 函数并使用它的返回值用作格式 . ID

放置格式剪贴板上

若要添加多格式添加到剪贴板上放置的控件,您必须在重写从 COleClientItemCOleServerItem 派生的类的函数 OnGetClipboardData (根据复制的数据是否本机)。 在此函数,应使用下面的过程。

放置格式剪贴板上

  1. 创建 COleDataSource 对象。

  2. 将此数据源将本机数据格式到支持的格式列表通过调用 COleDataSource::CacheGlobalData的函数。

  3. 添加标准格式通过调用每种要支持的标准格式的 COleDataSource::CacheGlobalData

此技术在 MFC OLE 示例程序 HIERSVR (请选中 CServerItem 类的 OnGetClipboardData 成员函数。) 本示例中的唯一不同之处是第三不实现,因为文本支持没有其他标准格式。

您想进一步了解什么?

请参见

参考

剪贴板:使用 OLE 剪贴板机制