DISPID_ONVISIBLE 的句柄

发布于 2024-11-30 10:48:54 字数 247 浏览 1 评论 0原文

我尝试隐藏放入 DISPID_NEWWINDOW2 的 IWebBrowser2。

但没有幸运:-(

IWebBrowser2 在导航后始终可见。这就是为什么我尝试处理 DISIP_ONVISIBLE 并调用 put_Visible(VARIANT_FALSE) 隐藏 IWebBrowser2 但这个事件我只有在自己调用 put_Visible() 时才会收到......

如何解决我的任务?

感谢您的任何帮助。

I try to hide IWebBrowser2 which I put to DISPID_NEWWINDOW2.

But have no lucky :-(

IWebBrowser2 always visible after Navigate. That is why I try to handle
DISIP_ONVISIBLE and call put_Visible(VARIANT_FALSE) to hide IWebBrowser2
but this event I receive only when call put_Visible() by myself...

How to solve my task?

Thanks for any help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

网名女生简单气质 2024-12-07 10:48:54

实施 NewWindow2NewWindow3 并将 ppDisp 设置为 IWebBrowser2 的新实例。
要确保此新实例不可见,请在控件的容器上使用 put_Visible 或调用 ShowWindow(SW_HIDE)
您还可以设置*Cancel = VARIANT_TRUE 来完全禁用弹出窗口。
实现 NewWindow3 将为您提供目标 URL。

STDMETHODIMP CMyBrowser::OnNewWindow3(IDispatch **ppDisp, 
                                      VARIANT_BOOL *Cancel, 
                                      DWORD dwFlags, 
                                      BSTR bstrUrlContext, 
                                      BSTR bstrUrl)
{
  // spWebBrowser = create a newly instance of IWebBrowser2
  ppDisp = (IDispatch*)spWebBrowser;
  return S_OK;
}

Implement NewWindow2 or NewWindow3 and set ppDisp to a new instance of IWebBrowser2.
To make sure that this new instance is not visible use put_Visible or call ShowWindow(SW_HIDE) on the control's container.
You could also set *Cancel = VARIANT_TRUE to disable the popup altogether.
Implementing NewWindow3 will give you the destination url.

STDMETHODIMP CMyBrowser::OnNewWindow3(IDispatch **ppDisp, 
                                      VARIANT_BOOL *Cancel, 
                                      DWORD dwFlags, 
                                      BSTR bstrUrlContext, 
                                      BSTR bstrUrl)
{
  // spWebBrowser = create a newly instance of IWebBrowser2
  ppDisp = (IDispatch*)spWebBrowser;
  return S_OK;
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文