概述
此文源自http://social.msdn.microsoft.com/Forums/en/windowssdk/thread/94bb2db4-3ca2-4cd8-9f7c-6dd9aab6fd18的讨论
在复制数据到剪贴板时,一个应用程序应该提供尽可能多的格式使得更多的程序能够识别剪贴板上的数据。例如IE将复制的HTML保存为CF_UNICODETEXT、CF_TEXT和CF_HTML等格式。
很多程序在识别剪贴板数据的时候,在找到第一个支持的格式时就停止搜索。有的程序支持粘贴时选择格式(例如Word里面的选择性粘贴),但是这样的程序是例外,在粘贴时支持多种剪贴板格式的程序并不多。为了避免数据往返时的数据丢失,在决定剪贴板格式顺序的时候,包含最多信息的格式应该放在第一个,而包含较少的放在后面,包含最少信息的放在最后。举例来说,CF_HTML 第一, CF_UNICODETEXT第二,CF_TEXT最后。在复制一个jpeg图片到剪贴板的时候,可以以如下顺序填充剪贴板:CF_HDROP、CFSTR_FILECONTENTS、CFSTR_FILENAME、CFSTR_MIME_JPEG、CF_DIB、CF_PALETTE 、CF_METAFILEPICT、CF_ENHMETAFILE、CF_DIBV5。
当然,有时候你想限制剪贴板上的数据的格式,例如在从Visual Studio复制代码但是期望在粘贴代码的时候不包含格式,那么你可能像要把一个信息量较少的数据格式放在最前面。
如果你使用一个浏览器作为文本编辑器,你可以通过实现OnFilterDataObject来在粘贴的时候去掉文字的格式。
最后
以上就是单纯咖啡为你收集整理的选择剪贴板格式顺序的全部内容,希望文章能够帮你解决选择剪贴板格式顺序所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复