选择剪贴板格式顺序

原创 2013年08月10日 07:44:39

此文源自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在粘贴的时候去掉文字的格式。

同时放置多个数据格式到剪贴板上

同时放置多个数据格式到剪贴板上
  • caowm
  • caowm
  • 2011年05月23日 08:55
  • 948

选择剪贴板格式顺序

在复制数据到剪贴板时,一个应用程序应该提供尽可能多的格式使得更多的程序能够识别剪贴板上的数据。例如IE将复制的HTML保存为CF_UNICODETEXT、CF_TEXT和CF_HTML等格式。 很多...
  • jiangsheng
  • jiangsheng
  • 2013年08月10日 07:44
  • 5025

剪贴板编程相关

剪贴板函数  Function            Description         OpenClipboard       打开剪贴板CloseClipboard      关闭剪切板Em...
  • chenlycly
  • chenlycly
  • 2015年03月28日 13:41
  • 976

【MoreWindows工作笔记11】EnumClipboardFormats 剪切板内容的数据格式

【MoreWindows工作笔记11】EnumClipboardFormats 剪切板内容的数据格式 本文将输出剪贴板上的数据地址,数据大小,对文本类型的数据如何直接输出。...
  • MoreWindows
  • MoreWindows
  • 2013年12月31日 16:00
  • 18905

VC复制HTML格式到剪贴板 HTML Clipboard Format

本文作者:无幻 测试环境:Windows 7 开发环境:Visual Studio 2008 SP1         参照MSDN和帮助,在VC下测试代码如下: C++语言:  ...
  • akof1314
  • akof1314
  • 2012年06月03日 01:27
  • 5620

一次剪切、复制各文件或文字到剪贴板,选择性粘贴

  • 2012年11月28日 00:34
  • 3MB
  • 下载

读取剪贴板文件信息

哎,今天来了一个临时功能,要求我将剪贴板中的文件信息做处理,尽管和框架没有什么关系,但还是要实现。系统剪贴板的内容说白了就是在特定的时间内存分配的一个区域,随后复制的内容都会取代先前的内容,在C#中操...
  • lxwin01
  • lxwin01
  • 2006年07月11日 11:54
  • 1043

VB操作剪贴板,原来只需一句代码

VB操作剪贴板,原来只需一句代码━━━━━━━━━━━━━━━━━━━━━━━━━━呵呵,前段时间找了好久,都没找到合适的代码!今天写代码的时候无意中打上VB两个字母,本来是想看看动态添加控件的函数如...
  • nxhujiee
  • nxhujiee
  • 2009年02月05日 14:39
  • 1930

windows API 剪贴板详解

剪切、复制、粘贴都是我们在操作电脑的时候经常会用到的功能。但是你知道当我们剪切或者复制的 时候,数据会保存到什么地方吗?当我们粘贴的时候,又是从什么地方将数据输出出来呢?这都源自于系统中给我们提供了一...
  • u011061503
  • u011061503
  • 2014年05月27日 10:32
  • 1080

剪贴板

Windows允许把数据从一个程序传送到另一个程序,它的原理相对简单。标准剪贴板数据格式Windows支持不同的预先定义的数据格式:CF_TEXT, CF_OEMTEXT,CF_UNICODETEXT...
  • Charles_L
  • Charles_L
  • 2005年12月25日 02:39
  • 1876
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:选择剪贴板格式顺序
举报原因:
原因补充:

(最多只允许输入30个字)