MFC C++監聽網頁窗口的點擊超鏈接跳轉問題(即打開新的瀏覽器窗口)

使用MFC的CHtmlView類,註冊ON_EVENT事件進行監聽。

實現的基本代碼是:

BEGIN_EVENTSINK_MAP(CxxxView, CHtmlView)
ON_EVENT(CxxxView, AFX_IDW_PANE_FIRST, DISPID_NEWWINDOW3, CxxxView::OnNewWindow3, VTS_PDISPATCH VTS_PBOOL VTS_UI4 VTS_BSTR VTS_BSTR)
END_EVENTSINK_MAP()


void CxxxView::OnNewWindow3( LPDISPATCH* ppDisp, BOOL* Cancel, DWORD dwFlags, LPCTSTR bstrUrlContext, LPCTSTR bstrUrl )
{
*Cancel = TRUE;//捕抓到新窗口的邏輯處理。
Navigate2(bstrUrl);//一般是會爲這個uri加上單點登錄的信息。LtpToken,session之類。
}


如果還有不懂可以參考老kk的CJSInteractiveHtmlView接口類


還可以使用CHtmlView進行與js的交互。調用js函數或者提供函數給js進行調用。

提供函數給js調用的實現:http://www.cnblogs.com/anzhihun/archive/2013/01/04/2843970.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章