请问使用WebBrowser中OnBeforeNavigateExplorer1为什么不响应?
在vc7.0环境下,单文档。在MyView.cpp中运行时生成WebBrowser对象。
在MyView.h中增加
afx_msg void OnBeforeNavigateExplorer1(LPCTSTR URL,long Flags,LPCTSTR TargetFrameName,VARIANT FAR* PostData,LPCTSTR Headers,BOOL FAR* Cancel);
afx_msg void OnTitleChangeExplorer2(LPCTSTR Text);
DECLARE_EVENTSINK_MAP()
在MyView.cpp中增加:
CWebBrowser2 m_web;
BEGIN_EVENTSINK_MAP(CEx09bView,CView)
ON_EVENT(CEx09bView,ID_MYWEB,100,OnBeforeNavigateExplorer1,VTS_BSTR VTS_I4 VTS_BSTR VTS_PVARIANT VTS_BSTR VTS_PBOOL)
ON_EVENT(CEx09bView,ID_MYWEB,113,OnTitleChangeExplorer2,VTS_BSTR)
END_EVENTSINK_MAP()
void CEx09bView::OnBeforeNavigateExplorer1(LPCTSTR URL,long Flags,
LPCTSTR TargetFrameName,VARIANT FAR* PostData,LPCTSTR Headers,BOOL FAR* Cancel){
AfxMessageBox("goto 2.htm");
m_target.Navigate("http://www.aaa.net/2.htm",NULL,NULL,PostData,NULL);
}
void CEx09bView::OnTitleChangeExplorer2(LPCTSTR Text){
....
}
int CEx09bView::OnCreate(LPCREATESTRUCT lpCreateStruct){
......
DWORD dwStyle = WS_VISIBLE |WS_CHILD;
if(m_search.Create(NULL,dwStyle,CRect(0,0,100,100),this,ID_BROWSER_SEARCH)==0) {
...
return -1;
}
m_search.GoHome();
...
}
为什么当点击webbrowser中网页的超级联结时候,OnTitleChangeExplorer2响应了,OnBeforeNavigateExplorer1却从来不响应?