在Webbrowser中有时会自动弹出新的窗口打开新的网页,但是我们不需要这样的功能,那么如何不弹出新IE窗口而且在原来的webbrowser中打开新网页呢?按如下步骤即可解决。
1 添加IDocHostUIHandler2 接口的 TranslateUrl 事件函数
在TranslateUrl 函数中记录下第二个如参的值,如:m_strNewUrl=CString(pchURLIn);
2 添加 NewWindow2 Event 事件消息函数。
在NewWindow2 函数中,添加代码:
*Cancel=TRUE;
Navigate(m_strNewUrl,NULL,NULL,NULL,NULL);
当网页发生弹出新窗口时,新执行的是TranslateUrl 事件函数,然后是NewWindow2 事件函数。在TranslateUrl 函数中记录下了新的URL,在NewWindow2函数中取消打开新窗口,并且在本窗口打开新网页。