在浏览器中粘贴时替换剪贴板数据

原创 2004年03月20日 23:57:00

在某些时候,可能需要覆盖剪贴板的数据,例如过滤聊天时在输入窗口粘贴非文字格式的信息。对于浏览器控件的编辑模式,浏览器提供了IDocHostUIHandler接口来支持粘贴时提供一个替代的数据源来覆盖剪贴板的数据。下面的代码描述了如何过滤除了CF_TEXT之外的剪贴板格式


HRESULT CHtmlCtrl::OnFilterDataObject(IDataObject * pDataObject, IDataObject ** ppDataObject)//这是我对IDocHostUIHandler::FilterDataObject的实现
{
 COleDataObject OleDataObject;
 OleDataObject.Attach(pDataObject,FALSE);
 COleDataSource* pOleDataSource=new COleDataSource;
 if(OleDataObject.IsDataAvailable(CF_TEXT)){
  // Get text data from ColeDataObject.
  HGLOBAL hGlobal=OleDataObject.GetGlobalData(CF_TEXT);
  pOleDataSource->CacheGlobalData(CF_TEXT,hGlobal);  //这里我简单地使用了原来的数据,你当然也可以替换掉这里的数据
 }
 REFIID riid=IID_IDataObject;
 pOleDataSource->ExternalQueryInterface(&riid,(LPVOID*)ppDataObject);
 OleDataObject.Detach();
 return S_OK;
}

在我翻译的一篇文章(http://www.csdn.net/Develop/article/19/19627.shtm)中提到过实现IDocHostUIHandler的方法。

剪贴板自定义类型跨浏览器支持

剪贴板自定义类型跨浏览器支持引子在编辑器开发中, 遇到了需要设置内容到剪贴板和获取并剪贴板内容的情况. 有关以下问题 跨浏览器获取Clipboard 从剪贴板中获取不同类型数据 可以参考 THE DE...
  • FuDesign2008
  • FuDesign2008
  • 2017年01月03日 14:11
  • 422

HTML5本地存储里储存对象

HTML5本地存储里储存对象 W3schools 在HTML5里,网页可以把数据存储到用户得本地浏览器里。 以前,这些数据保存在cookies里。但是Web存储更安全和快速。 这些数据...
  • u012787757
  • u012787757
  • 2014年05月12日 00:03
  • 1929

剪贴板自定义类型跨浏览器支持

剪贴板自定义类型跨浏览器支持引子在编辑器开发中, 遇到了需要设置内容到剪贴板和获取并剪贴板内容的情况. 有关以下问题 跨浏览器获取Clipboard 从剪贴板中获取不同类型数据 可以参考 THE DE...
  • FuDesign2008
  • FuDesign2008
  • 2017年01月03日 14:11
  • 422

(集合)JAVA文件操作--复制、粘贴、删除、剪切

原文链接: http://xqjay19910131-yahoo-cn.iteye.com/blog/1294119
  • u013571487
  • u013571487
  • 2014年07月06日 14:19
  • 1581

Android系统剪贴板(ClipboardManager)的使用: 通过代码复制和粘贴数据

Android系统剪贴板的使用: 通过代码复制和粘贴数据。操作剪贴板的类在 android.content 包下(SDK API 11+),主要包含下面三个类: ClipboardManager: 表...
  • xietansheng
  • xietansheng
  • 2017年04月30日 02:41
  • 2368

万能的“一键复制到剪贴板”,支持IE、火狐、谷歌及移动版浏览器

万能的“一键复制到剪贴板”,支持IE、火狐、谷歌及移动版浏览器
  • qq_37381571
  • qq_37381571
  • 2017年03月15日 15:03
  • 908

linux版的vim中如何用快捷键进行与系统剪切板交互的复制粘贴?

就是剪切不存在buffer中,而是存在剪切板中;粘贴从剪切板粘贴。 #buffer 意思是缓冲器,指的应该是vim内寄存复制的东西的地方 #clipboard是剪切板,指的应该是系统中寄存复制的东...
  • yujinan1990
  • yujinan1990
  • 2016年09月16日 05:27
  • 2403

Windows 剪切板API详解

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

安卓监听剪切复制粘贴事件实例

本文的剪切复制粘贴事件只针对文本,URI 和 intent 不在讨论范围内。 实例代码实现了2个功能:(1)监听剪切复制粘贴事件;(2)获取剪切复制或粘贴的文本;...
  • zhaizu
  • zhaizu
  • 2017年04月13日 14:51
  • 4309

跟我一起玩Win32开发(21):复制&粘贴&剪贴板操作

我要提醒一下大家,看了我的博文学到的知识,千万不要用于实际开发,不然你会被你的上司骂:“妈的,这些东西哪来的,从来没有人这样做过。”不信你试试,脑细胞被冻结的经理或者技术总监们肯定会这样说的。 如果...
  • tcjiaan
  • tcjiaan
  • 2013年03月24日 12:27
  • 8105
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在浏览器中粘贴时替换剪贴板数据
举报原因:
原因补充:

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