【问题标题】:WebBrowser: IDropTarget网络浏览器:IDropTarget
【发布时间】:2013-11-19 08:20:47
【问题描述】:
【问题讨论】:
-
@Ondrej Janacek,我只有interface code,我不知道如何“插入”。我已经进行了适当的搜索,但没有找到任何示例。我找到的最接近的东西是here(第 17 个帖子)。
标签:
c#
.net
winforms
webbrowser-control
【解决方案1】:
理论上,您应该包装原始的IDropTarget 对象,从MSHTML 传递给您的IDocHostUIHandler::GetDropTarget,并返回您自己的IDropTarget 实现,这会将所有IDropTarget 方法转发到该原始对象,使用一个例外:IDropTarget::DragEnter。
在您的IDropTarget::DragEnter 实现中,您将检查包含即将删除的数据的IDataObject 对象(IDataObject::EnumFormatEtc),如果数据不可接受,则返回DROPEFFECT_NONE,否则也转发它。
我没有现成的代码示例。当你到达那里时,请随意尝试并发布你自己的答案。