1. 程式人生 > >webbrowser 不彈出新視窗同時在原視窗開啟新URL

webbrowser 不彈出新視窗同時在原視窗開啟新URL

在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函式中取消開啟新視窗,並且在本視窗開啟新網頁。