CHtmlView::OnBeforeNavigate2 不是 CHtmlView 类的公共方法,而是一个虚拟函数,用于处理在导航到新页面之前的事件。

在 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