剪贴板:添加其他格式
本主题说明如何扩展支持的格式列表,尤其是 OLE 的支持。主题 剪贴板:复制和粘贴数据 描述需要最小实现支持复制和粘贴剪贴板。如果这是所有已实现,放置在剪贴板上的唯一格式是 CF_METAFILEPICT、 CF_EMBEDSOURCE、 CF_OBJECTDESCRIPTOR和能 CF_LINKSOURCE。大多数应用程序比这三个需要剪贴板上的多个格式。
注册自定义格式
创建自定义格式,请遵循您会使用相同的过程,在注册任何自定义剪贴板格式时:通过布局的名称。 RegisterClipboardFormat 功能并使用它的返回值作为布局 ID.
放置在剪贴板格式
若要添加多格式来放置在剪贴板上的控件,必须重写在从 COleClientItem 或 COleServerItem 派生的类的 OnGetClipboardData 函数 (基于复制的数据是否为本机)。此功能,则应使用以下过程。
对剪贴板格式的位置
创建 COleDataSource 对象。
通过此数据源添加到您的本机数据格式来支持的格式列表通过调用 COleDataSource::CacheGlobalData的功能。
通过调用想要支持的每种标准格式的 COleDataSource::CacheGlobalData 添加标准格式。
此方法在 MFC OLE 示例程序 HIERSVR (请检查 CServerItem 类的 OnGetClipboardData 成员函数)。在该示例中的唯一区别是第三步未实现,因为 HIERSVR 支持没有其他标准格式。