我尝试隐藏我放到DISPID_NEWWINDOW2的IWebBrowser2。
但没有幸运: - (
导航后,IWebBrowser2始终可见。这就是我试图处理的原因 DISIP_ONVISIBLE并调用put_Visible(VARIANT_FALSE)来隐藏IWebBrowser2 但是这个事件只有在我自己调用put_Visible()时才会收到......
如何解决我的任务?
感谢您的帮助。
答案 0 :(得分:0)
实施NewWindow2
或NewWindow3
并将ppDisp
设置为IWebBrowser2
的新实例。
要确保此新实例不可见,请使用put_Visible或在控件的容器上调用ShowWindow(SW_HIDE)
。
您也可以设置*Cancel = VARIANT_TRUE
以完全禁用弹出窗口
实施NewWindow3
会为您提供目标网址。
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;
}