如何在.NET中成功实现IDocHostUIHandler?

时间:2009-07-28 16:43:18

标签: .net com webbrowser-control

我有一个webbrowser控件,我正在尝试在容器中实现IDocHostUIHandler。但是,由于我没有默认的IOleClientSite,因此我无法将所有事件转发到默认容器。

我无法找到回应所有这些内容的方法,对某些事件做出错误的回复,或者没有做任何导致应用程序崩溃的事情。

Fox示例:

Public Sub ShowUI(ByVal dwID As UInteger, ByRef pActiveObject As Object, ByRef pCommandTarget As Object, ByRef pFrame As Object, ByRef pDoc As Object) Implements SecureBrowser.IDocHostUIHandler.ShowUI
    'DefaultClientSite.ShowUI(dwID, pActiveObject, pCommandTarget, pFrame, pDoc)
End Sub

由于我不在IE或类似的东西,我没有默认的IOleClientSite。在弄清楚如何填充这些指针/ ByRef时,MSDN没有那么多帮助。

1 个答案:

答案 0 :(得分:0)

我实际上并没有为IDocHostUIHanlder接口做这个,但一般情况下,通常就为你不想实现的任何方法返回E_NOTIMPL。

如果您有一个带有MFC源的Visual Studio版本,您可以在CHtmlView中查看它们的实现:对于大多数方法来说,它主要只返回S_FALSE,而不设置任何输出结构。