- 浏览: 25517 次
- 性别:
- 来自: 深圳
最新评论
在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 4921. 在学习网络编程的时候,我通过网上的了解,买了不少书, ... -
centos中编译log4cxx
2013-03-18 10:10 1537log4cxx-0.10.0日志中文乱码 log4cxx ... -
linux在用户程序中如何向操作系统发送按键事件
2013-01-23 19:09 2489转自:http://blog.csdn.net/xian ... -
为什么linux下多线程编程,每次执行结果都不一样
2013-01-03 21:41 1162#include <pthread.h> ... -
BlockingQueue C++实现
2012-11-18 21:05 1633// BlockingQueue.h: interfac ... -
27种设计模式C++实现——单例模式
2012-09-25 22:02 01. 单例模式 -
27种设计模式C++实现——原始模型模式
2012-09-25 22:01 6601. 克隆接口 2. 具体实现者类 -
27种设计模式C++实现——建造者模式
2012-09-25 21:59 10091. 指导者类 2. 抽象建造者类 3. 具体建造者类 ... -
27种设计模式C++实现——抽象工厂
2012-09-25 21:57 11311. 抽象产品类 2. 具体产品类 3. 抽象工厂 4. ... -
27种设计模式C++实现——工厂方法
2012-09-25 21:55 6141. 抽象产品类 2. 具体产品类 3. 工厂接口 4. ... -
27种设计模式C++实现——简单工厂
2012-09-25 21:54 628简单工厂 1. 抽象产品类 2. 具体产品类 3. ... -
面向对象编程<继承覆盖>之——C++
2012-09-23 21:39 668C++面向对象继承,虚方法,类似于指针..... ... -
windows进程同步
2012-09-21 15:40 8721. 进程同步的思想很简单 操作系统所有进程,都是内核 ... -
C内存对齐详解
2012-09-18 17:05 596一、什么是对齐,以及为什么要对齐: 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 551所有的C、C++教科书都警 ...
相关推荐
ActiveX组件与JavaScript交互ActiveX组件与JavaScript交互ActiveX组件与JavaScript交互
MFC对话框与静态HTML交互,关于MFC如何与WebBrowser加载的HTML进行交互的问题。。
MFC的WebBrowser控件 C++与JavaScript之间数据交互传递
VS2015 MFCActiveX使用对话框调用另外一个ActiveX控件,包含生成的ocx以及测试网页
基于 mfc ActiveX 的 一个可用于http协议 下载资源的控件 VC2008编译
VS2010中开发MFCActiveX小例子,童叟无欺,绝对可以运行。打开MFCActiveX文件夹,在Debug中找到MFCActiveX.ocx文件。然后在DOS命令行中,运行:regsvr32 MFCActiveX.ocx 这个命令,将插件注册到注册然表中。然后点击...
MFC ActiveX 控件开发指南 初学者入门大全
ActiveX 空间开发步骤详细实例,对于初学者很有用哦……
源码是个MFC程序,加载了一个WebBrowser控件,并实现了C++与JavaScript之间数据交互传递。分成两个模块,分别展示数据传递的两个方向。
vccom例程9 MFC ACTIVEX FORM CLASSWIZARD
网上很少有完整的基于OpenGL的MFC ActiveX插件的例子。我发了大量的时间才弄出来一个,分享一下
MFC与html进行数据交互,其中javascript调用MFC中的一些类的自定义函数,MFC中的一些类的实例也可以通过某些手段执行javascript的函数
mfc ActiveX 结构体数组的传递
使用visual studio2010 制作MFC ActiveX控件,结合visual control pad 实现图片的显示!
MFC ActiveX添加普通控件,解决activex添加控件报错问题,此问题是大家经常遇见的问题,高手就不用看了.
MFC 与Excel文件的交互操作
MFC与html进行数据交互,其中javascript调用MFC中的一些类的自定义函数,MFC中的一些类的实例也可以通过某些手段执行javascript的函数
mfc ativex例子,。。。。。。。。。。。。。。。。。。。
CHorPipeFlowCtrl实现水平方向流动 CVerPipeFlowCtrl实现垂直方向流动 CLeftTopPipeFlowCtrl实现左边交叉流动 CRightTopPipeFlowCtrl实现右边交叉流动 流动效果基本均匀,可自行设定滑块形状(圆形,矩形,三解,...
添加属性,EditControl box, Static Text, VC2008