我有一个基于 WebBrowser 的令人苦恼的 html编辑器。现在的麻烦是,我想实现 IDocHostUIHandler::FilterDataObject 方法,目的是在用户向编辑器中粘贴内容时进行检查,如果必要,修改要粘贴的数据,或者,干脆取消粘贴。我没有找到合适的例子。有一小段代码是C++的,使用了MFC类,我不知道怎么将这种神秘的代码移植到C#中。我对COM知之甚少,力不从心,请老手指教。谢谢。

解决方案 »

  1.   

    http://www.codeproject.com/KB/books/0764549146_8.aspx
      

  2.   


    蒋老大,那个文章没有演示如何过滤,这是他的代码:public MsHtmlCustomization.IDataObject
           FilterDataObject(MsHtmlCustomization.IDataObject pDO) 
    {
      return pDO;
    }
      

  3.   

    你可以在里面返回一个新的dataobject
      

  4.   


    我不知道怎么实现 IDataObject,好像涉及到全局内存操作,找的例子没有C#的,而且都不完整。
      

  5.   

    我勉强实现了一个,一点点试的,感觉像瞎猫碰到死耗子,只能过滤粘贴,不能过滤拖放的文本,不知道有没有内存管理方面的bug