`
mizhao1984
  • 浏览: 91680 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

mfc拦截CDHtmlDialog中某些特殊页面链接并做其他处理

阅读更多

在.h文件中定义一个函数
DECLARE_EVENTSINK_MAP()
virtual void XOnBeforeNavigate2(LPDISPATCH pDisp, VARIANT FAR* URL, VARIANT FAR* Flags, VARIANT FAR* TargetFrameName, VARIANT FAR* PostData, VARIANT FAR* Headers, BOOL FAR* Cancel);
在.CPP中

BEGIN_EVENTSINK_MAP(CXXXHTMLDialog, CDHtmlDialog)
ON_EVENT(CXXXHTMLDialog, AFX_IDC_BROWSER, 250 /* BeforeNavigate2 */, XOnBeforeNavigate2, VTS_DISPATCH VTS_PVARIANT VTS_PVARIANT VTS_PVARIANT VTS_PVARIANT VTS_PVARIANT VTS_PBOOL)
END_EVENTSINK_MAP()

void CXXXHTMLDialog::XOnBeforeNavigate2(LPDISPATCH pDisp, VARIANT FAR* URL, VARIANT FAR* Flags, VARIANT FAR* TargetFrameName, VARIANT FAR* PostData, VARIANT FAR* Headers, BOOL FAR* Cancel) {
  CString url = *URL;

  if (url == "http://localhost:8800/testhtml/zadan/zjmd.jsp"){

     CDHtmlDialog* m_myHtmlDg=new CDHtmlDialog();
     CWnd* pParent = NULL;
     m_myHtmlDg-> Create(IDD_DIALOG2,pParent);
     m_myHtmlDg-> Navigate(_T(url));
     m_myHtmlDg-> SetHostFlags(DOCHOSTUIFLAG_NO3DBORDER);
     m_myHtmlDg-> ShowWindow(SW_SHOW);

     *Cancel = true;
  }else{
     return;
  }
}

分享到:
评论

相关推荐

    vc++ 应用源码包_1

    演示了其它控件(全部)阙套到List中并自绘等,学习自绘以及阙套CListCtrl 控件的好实例。 ColorStatic 自绘了CStatic控件,实现了标题字符滚动效果。 CSDN免积分下载工具 源码 演示了使用CInternetSession去下载...

    vc++ 应用源码包_2

    演示了其它控件(全部)阙套到List中并自绘等,学习自绘以及阙套CListCtrl 控件的好实例。 ColorStatic 自绘了CStatic控件,实现了标题字符滚动效果。 CSDN免积分下载工具 源码 演示了使用CInternetSession去下载...

    vc++ 应用源码包_6

    演示了其它控件(全部)阙套到List中并自绘等,学习自绘以及阙套CListCtrl 控件的好实例。 ColorStatic 自绘了CStatic控件,实现了标题字符滚动效果。 CSDN免积分下载工具 源码 演示了使用CInternetSession去下载...

    vc++ 应用源码包_5

    演示了其它控件(全部)阙套到List中并自绘等,学习自绘以及阙套CListCtrl 控件的好实例。 ColorStatic 自绘了CStatic控件,实现了标题字符滚动效果。 CSDN免积分下载工具 源码 演示了使用CInternetSession去下载...

    vc++ 应用源码包_3

    演示了其它控件(全部)阙套到List中并自绘等,学习自绘以及阙套CListCtrl 控件的好实例。 ColorStatic 自绘了CStatic控件,实现了标题字符滚动效果。 CSDN免积分下载工具 源码 演示了使用CInternetSession去下载...

Global site tag (gtag.js) - Google Analytics