- 浏览: 26871 次
- 性别:
- 来自: 深圳
最新评论
在Activex的应用中与网页的JavaScript的交互必不可少,在这里就简单的介绍下。
VC 创建的Activex的有两种类型,MFC Activex与ATL Activex, 在VC新建工程的时候选择,这篇文章介绍的是针对MFC Activex的,ATL Activex可以绕过了。
测试环境:: VC++ 6.0 SP6
(一) MFC Activex与JavaScript的传递参数、返回值
在JavaScript调用时Activex方法,可以归分为两种:
1参数为整型变量,返回为整型变量
long CActivexCtrl::Func(long i) { return 0; }
2 参数为字符串变量,返回为字符串变量
BSTR CActivexCtrl::Func(LPCTSTR str) { CString strResult; strResult = "TeastString2 ret"; return strResult.AllocSysString(); }
3 ….其它的调用方式参考上述两种
4 在JavaScript中变量默认都可以是variant类型,这样我们就可以利用VARIANT传递各种类型的参数,在Activex中,先对variant的变量进行类型转换,再进行调用。当返回结果时,将结果包装成variant类型的变量再返回。(variant与各种类型变量转换,不是本文重点,在这里不进行讲解)
VARIANT CActivexCtrl::Func(const VARIANT FAR& para1) { VARIANT vaResult; VariantInit(&vaResult); return vaResult; }
(二) MFC Activex异步调用JavaScript事件方法
1 在MFC Activex中注册回调函数:
//回调函数测试 #include <ATLBASE.H> extern CComModule _Module; #include <ATLCOM.h> //回调函数--全局变量 CComDispatchDriver m_Func1; //注册回调函数 void CActivexCtrl::regfun(LPDISPATCH bstrFun) { m_Func1 = bstrFun; } //触发回调函数 void CActivexCtrl::func_calljs() { VARIANT varArg[1]; varArg[0].vt = VT_UINT; varArg[0].uintVal = 10; m_Func1.InvokeN((DISPID)DISPID_VALUE, varArg, 1); }
2 JavaScript的中注册异步过程:
//异步回调函数过程 function callfun(i) { alert("callback function in js, ret=" + i); } //注册回调函数 obj.regfun(callfun);
发表评论
-
网络编程——一些思考
2013-05-09 15:07 5281. 在学习网络编程的时候,我通过网上的了解,买了不少书, ... -
centos中编译log4cxx
2013-03-18 10:10 1578log4cxx-0.10.0日志中文乱码 log4cxx ... -
linux在用户程序中如何向操作系统发送按键事件
2013-01-23 19:09 2560转自:http://blog.csdn.net/xian ... -
为什么linux下多线程编程,每次执行结果都不一样
2013-01-03 21:41 1208#include <pthread.h> ... -
BlockingQueue C++实现
2012-11-18 21:05 1675// BlockingQueue.h: interfac ... -
27种设计模式C++实现——单例模式
2012-09-25 22:02 01. 单例模式 -
27种设计模式C++实现——原始模型模式
2012-09-25 22:01 7301. 克隆接口 2. 具体实现者类 -
27种设计模式C++实现——建造者模式
2012-09-25 21:59 10581. 指导者类 2. 抽象建造者类 3. 具体建造者类 ... -
27种设计模式C++实现——抽象工厂
2012-09-25 21:57 12041. 抽象产品类 2. 具体产品类 3. 抽象工厂 4. ... -
27种设计模式C++实现——工厂方法
2012-09-25 21:55 6851. 抽象产品类 2. 具体产品类 3. 工厂接口 4. ... -
27种设计模式C++实现——简单工厂
2012-09-25 21:54 684简单工厂 1. 抽象产品类 2. 具体产品类 3. ... -
面向对象编程<继承覆盖>之——C++
2012-09-23 21:39 704C++面向对象继承,虚方法,类似于指针..... ... -
windows进程同步
2012-09-21 15:40 9351. 进程同步的思想很简单 操作系统所有进程,都是内核 ... -
C内存对齐详解
2012-09-18 17:05 626一、什么是对齐,以及为什么要对齐: 1. 现代计算机中内存空 ... -
C++
2012-09-18 11:30 01. 学会数据分层,例如串口指令,与硬件业务分离 2. 学会 ... -
Java与C++内存回收浅析
2012-09-17 11:12 0java与C++内存回收浅析 内存分配结构 ... -
函数如何返回struct或class对象
2012-07-16 16:28 589所有的C、C++教科书都警 ...
相关推荐
### ActiveX组件与JavaScript交互详解 #### 一、概述 ActiveX组件是一种可以在网页或桌面应用程序中运行的小型可执行程序,它支持多种语言编写,包括C++等。JavaScript是广泛应用于网页开发的一种脚本语言。本文将...
MFC(Microsoft Foundation Classes)是微软公司提供的一套用于简化Windows应用程序开发的类库,其中对话框作为其中的核心部分之一,承担着与用户交互的重要任务。然而,在现代应用程序中,有时候我们需要将Web内容...
这个对象是JavaScript中的一个全局对象,它提供了与宿主环境(这里是MFC应用)交互的接口。在JavaScript中,你可以定义一个函数,然后通过`window.external`调用C++的函数: ```javascript function ...
2. **IWebBrowser2接口**:这是WebBrowser控件的主要接口,通过这个接口我们可以控制浏览器的行为,如导航、前进、后退等,同时也提供了与HTML文档和JavaScript交互的能力。 3. **Automation技术**:这是COM的一...
总结来说,MFC与HTML、JavaScript之间的数据交互涉及到多种技术和方法,包括但不限于ActiveX控件、IWebBrowser2接口、IDispatch、MessageChannel和PostMessage、事件桥接以及自定义协议处理。开发者可以根据具体的...
这个接口允许宿主(MFC应用)与脚本引擎(如Internet Explorer的JScript引擎)进行交互,执行或解析脚本代码。 3. **IDispatch接口**:在MFC中,可以将类声明为IDispatch支持,使得类的成员函数可以通过IDispatch...
总之,基于MFC的ActiveX控件开发涉及到C++编程、MFC框架的理解、COM技术以及JavaScript交互等多个方面。通过这个过程,开发者可以创建具有丰富功能的自定义控件,使得网页应用能够利用本地系统资源,提升用户体验。
在IT行业中,MFC(Microsoft Foundation Classes)是一个C++库,用于构建Windows应用程序,而ActiveX是微软开发的一种技术,允许在Internet Explorer或其他支持ActiveX的环境中嵌入和交互控件。本文将深入探讨如何...
CWebPage类是MFC(Microsoft Foundation Classes)框架中用于实现浏览器控件与JavaScript交互的一个重要工具。在Windows应用程序开发中,MFC提供了一种高效、便捷的方式来构建桌面应用,而CWebPage类则帮助开发者将...
在MFC(Microsoft Foundation Class)框架中,显示网页并与其进行交互是一项常见的需求,这通常涉及到ActiveX控件或者WebBrowser控件的使用。本文将深入探讨如何在MFC应用程序中实现这一功能,并且响应来自网页的...
同时,Flash也可以通过ACTIONSCRIPT与MFC程序进行通信,比如通过ExternalInterface接口暴露函数给JavaScript,再由JavaScript调用MFC程序暴露的ActiveX接口。 在实际应用中,可能需要处理的问题包括: 1. 初始化和...
而ActiveX技术则是一种允许在不同应用程序之间共享组件的技术,常用于创建网页交互性控件。本篇文章将详细探讨如何使用VS2010中的MFC来创建ActiveX控件,并进一步进行打包和在WEB环境下调用。 首先,我们需要了解...
MFC与HTML控件的交互主要通过两种方式:一是通过调用WebBrowser控件的API,二是通过JavaScript与C++的通信。API调用包括加载HTML文档(LoadUrl)、执行JavaScript代码(ExecuteScript)等。另一方面,HTML页面中的...
这三本书籍的学习资料组合,旨在帮助开发者全面理解Web前端开发中的JavaScript和HTML5,以及C++环境下利用MFC进行Windows应用开发和ActiveX组件的使用。通过深入学习,你可以掌握创建交互式网页、构建桌面应用程序...
### Activex\web上用Activex控件开发步骤(MFC) #### 概述 在Web开发领域,ActiveX 控件曾是一种广泛使用的客户端技术,尤其是在Internet Explorer浏览器中。它允许开发者在用户计算机上安装并运行自定义编写的组件...
在C++中,我们可以使用COM(Component Object Model)接口来与ActiveX控件进行交互,调用Flash Player的相关方法和事件。 首先,要实现C++到Flash的通信,我们需要在MFC项目中引入Flash Player ActiveX控件。这通常...
2. **调用接口**:Flash对象提供了一些接口供外部调用,例如`callFunction`方法,允许MFC应用执行Flash中的JavaScript函数。这个过程通常需要对Flash ActionScript有基本的理解,因为`callFunction`接收的是...
网页JS调用MFC的ActiveX控件是...综上所述,网页JS调用MFC的ActiveX控件涉及到客户端开发、浏览器插件技术、JavaScript交互等多个知识点。在实际应用中,需结合具体需求和环境,灵活运用并注意安全和兼容性问题。
4. **与JavaScript交互**:由于ActiveX控件常在网页中使用,所以它们经常需要与JavaScript进行交互。通过IDispatch接口,ActiveX控件可以暴露其属性和方法供JavaScript调用,同时也能接收JavaScript的事件。 5. **...
在实际应用中,Teechart ActiveX控件可以广泛应用于报表系统、数据分析工具、科学计算软件等领域,提供丰富的图表类型和交互功能,以帮助用户更好地理解和解释数据。同时,由于它支持ActiveX技术,可以在多种Windows...