`
mizhao1984
  • 浏览: 88360 次
  • 性别: 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;
  }
}

分享到:
评论

相关推荐

    在CDHtmlDialog中显示html脚本

    showhtml 工程:主功能实现库,可以在其它程序中使用它,包含showhtml/showhtml.api.h文件,然后链接showhtml.lib。其提供两个接口: CreateHtmlShow(),用于生成一个用来显示的窗口,它必需有一个父窗口,其返回值...

    CDHtmlDialog调用js代码

    CDHtmlDialog的简单使用 调用javascript 函数 有一个vc调用js的通用类CWebPage

    CDHtmlDialog简单实例

    CDHtmlDialog简单实例 《疯狂的程序员》提到过的

    ATL实现的CDHtmlDialog模板类

    ATL发展到现在,从未提供像MFC中的CDHtmlDialog一样的HTML页面布局且方便开发者使用的窗口基类,虽然也有DHtml Control可供使用,但并不能像MFC那样通过宏映射来方便地让开发者与页面元素之间进行任意的双向交互,...

    ATL实现的CDHtmlDialog模板类v1.03

    相对1.02做了两处小改动: 1、当对话框打开关闭后再打开,在DEBUG版本下会断言失败,原因在于对话框窗口销毁时没有销毁WebBrowser控件窗口。 2、删除了对atlsafe.h的包含引用,这个文件在VC6的ATL3.0版本中是...

    CDHtmlDialog与网页交互技巧整理.pdf

    CDHtmlDialog与网页交互技巧整理.pdf

    DialogImage.zip_CDHtmlDialog_CDHtmlDialog 背景

    本例通过继承CDHtmlDialog类来设置对话框背景 本例简单易懂 适于MFC初学者学习

    VC++基于MFC的图片浏览器(有多种特效)

    图片浏览器,图片浏览器MFC原码 VC++

    IE_Sample.7z

    基于CDHtmlDialog对话框的MFC和JS互相调用,VS2013工程。

    vc++ 应用源码包_1

    DirectUI移植到MFC中实现。 MFCHtml 调用脚本 MFC使用COM加载WMI服务,另类获取系统服务详细 大家都知道,现在流行的检测硬件软件视乎很神秘,我们要获得各种信息好像比较难.但大多数这种软件或多或少的使用了WMI,如果...

    vc++ 应用源码包_2

    DirectUI移植到MFC中实现。 MFCHtml 调用脚本 MFC使用COM加载WMI服务,另类获取系统服务详细 大家都知道,现在流行的检测硬件软件视乎很神秘,我们要获得各种信息好像比较难.但大多数这种软件或多或少的使用了WMI,如果...

    vc++ 应用源码包_6

    DirectUI移植到MFC中实现。 MFCHtml 调用脚本 MFC使用COM加载WMI服务,另类获取系统服务详细 大家都知道,现在流行的检测硬件软件视乎很神秘,我们要获得各种信息好像比较难.但大多数这种软件或多或少的使用了WMI,如果...

    vc++ 应用源码包_5

    DirectUI移植到MFC中实现。 MFCHtml 调用脚本 MFC使用COM加载WMI服务,另类获取系统服务详细 大家都知道,现在流行的检测硬件软件视乎很神秘,我们要获得各种信息好像比较难.但大多数这种软件或多或少的使用了WMI,如果...

    vc++ 应用源码包_3

    DirectUI移植到MFC中实现。 MFCHtml 调用脚本 MFC使用COM加载WMI服务,另类获取系统服务详细 大家都知道,现在流行的检测硬件软件视乎很神秘,我们要获得各种信息好像比较难.但大多数这种软件或多或少的使用了WMI,如果...

    vc++ 开发实例源码包

    DirectUI移植到MFC中实现。 MFCHtml 调用脚本 如题。 MFC使用COM加载WMI服务,另类获取系统服务详细 大家都知道,现在流行的检测硬件软件视乎很神秘,我们要获得各种信息好像比较难.但大多数这种软件或多或少的使用了...

    数据库课程设计 银行系统

    使用 MFC 写的数据库课程设计,利用了 CDHtmlDialog 进行界面设计。银行系统参照《数据库系统概念》上的例子。

    google地图操作手册

    1. 谷歌地图框架是使用CDHtmlDialog...为了加快绘制速度,地图坐标转换为屏幕坐标做了特殊处理:每次地图绘制完成,都会记录地图左上角、中心、右下角三个点的GPS和屏幕坐标,然后绘制数据的时候就通过这三个点来转换。

    Promise 未定义 引用脚本

    IE11也支持html2canvas该插件 Promise 未定义 引用该脚本即可

    面向LED路灯定位的桌面监控设计 (2013年)

    针对目前路灯使用的控制系统中无法实时定位路灯的地理位置等问题,设计了使用Microsoft Visual Studio 2008开发工具下基于MFC中的CDHtmlDialog类,使程序嵌入浏览器进行对百度地图的访问,实现对HTML中JavaScript...

Global site tag (gtag.js) - Google Analytics