在 MFC 的 CHtmlView 类中,OnBeforeNavigate2 通常是被重写的一个函数,以便应用程序能够拦截导航请求并执行一些自定义操作。例如,您可以在这个函数中检查导航的 URL,取消导航,或执行其他操作。
以下是一个简单的示例:
class CMyHtmlView : public CHtmlView
{
public:
DECLARE_DYNCREATE(CMyHtmlView)
// ...
virtual BOOL OnBeforeNavigate2(LPCTSTR lpszURL, DWORD nFlags, LPCTSTR lpszTargetFrameName, CByteArray& baPostedData, LPCTSTR lpszHeaders, BOOL* pbCancel);
};
IMPLEMENT_DYNCREATE(CMyHtmlView, CHtmlView)
BOOL CMyHtmlView::OnBeforeNavigate2(LPCTSTR lpszURL, DWORD nFlags, LPCTSTR lpszTargetFrameName, CByteArray& baPostedData, LPCTSTR lpszHeaders, BOOL* pbCancel)
{
// 在这里执行您的自定义操作,可以取消导航等
// 返回 TRUE 取消导航,返回 FALSE 允许导航继续
return FALSE;
}
通过重写 OnBeforeNavigate2,您可以拦截导航请求,并根据需要执行特定的操作。在函数的参数中,您可以获取有关导航请求的详细信息。如果您返回 TRUE,则导航将被取消;如果返回 FALSE,导航将继续。
转载请注明出处:http://www.zyzy.cn/article/detail/18159/MFC/CHtmlView