DoubleLi

qq: 517712484 wx: ldbgliet

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::
上一页 1 ··· 443 444 445 446 447 448 449 450 451 ··· 474 下一页

2012年11月5日

摘要: 最近参与了一个项目,我的同事在开发一个ActiveX对象,我帮他编写JS脚本来调用这个对象,其中碰到蛮多问题,最难的就是如何响应由ActiveX对象返回的对象事件。正好,现在一起总结一下。 首先,我来介绍一下COM组件,以便说明js如何响应 COM组件 方法:voidinit()//初始化对象 Project createProject()//创建一个Project类型的对象并返回 事件: onInit( int_code )//当init成功后触发 Project类的结构: 方法:voidinit()//初始化Project对象 事件: onInit( int_code )//当init成功 阅读全文
posted @ 2012-11-05 16:50 DoubleLi 阅读(3834) 评论(1) 推荐(0)

摘要: 1:创建ActiveX对象在web中使用ActiveX组件有两种方法,一是如下rep_print_medcan.CABOBJECT标签中,通过ID指点了对象的ID号,javascript可以使用该ID号来引用该对象,而classid用于标识这个组件,每个ActiveX组件都有唯一一个用于表示他的ID号。而codebase指定的程序下载到本地(在系统目录的“DownloadedProgramFiles”子目录下),然后调用组件程序的自注册入口函数注册到当前系统中,以后的创建都在本地进行,不再涉及codebase属性使用以上的方法来创建ActiveX对象,有些参数设置需要手抖的填写,麻烦,2、另外 阅读全文
posted @ 2012-11-05 16:49 DoubleLi 阅读(24261) 评论(0) 推荐(0)

2012年11月2日

摘要: MFC Activex与JavaScript的接口交互在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 阅读全文
posted @ 2012-11-02 17:43 DoubleLi 阅读(4995) 评论(1) 推荐(2)

摘要: 1.向ActiveX注册JS函数:在ActiveX中添加接口方法 - void RegisterFunction(BSTR bstrFuncName, IDispatch* dispFunc);JavaScript代码声明一个函数,并调用RegisterFunction接口向ActiveX注册该函数,供ActiveX调用。2.保存注册的函数,ActiveX使用CComDispatchDriver对象保存注册的JS函数(IDispatch接口指针)CComDispatchDriverm_Func1;void RegisterFunction(BSTR bstrFuncName, IDispatc 阅读全文
posted @ 2012-11-02 17:37 DoubleLi 阅读(4665) 评论(0) 推荐(0)

摘要: 4.实现从ActiveX调用网页中的javascript.设计思路:从上述项目中产生的calc.html中创建一个js函数来调用控件的CallWebJs方法,而CallWebJs方法又调用页面中的js方法printMsg();具体操作如下:同3中的做法,再为控件添加一个方法命名为CallWebJs,在calc.cpp中找到该方法,并实现如下:STDMETHODIMP Ccalc::CallWebJs(VARIANT scriptCallback){// TODO: Add your implementation code hereCComPtr<IDispatch> spCallb 阅读全文
posted @ 2012-11-02 17:02 DoubleLi 阅读(7179) 评论(0) 推荐(1)

摘要: 1. 打开VS2008,单击起始页中的“New Project…”,选择“ATL”分类下的“ATL Project”项目,项目名称为“ATLtest”。在随后出现的项目向导中,使用默认配置即可。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />2. 添加控件在解决方案管理器中的项目上右击,依次选择“A 阅读全文
posted @ 2012-11-02 17:01 DoubleLi 阅读(2677) 评论(0) 推荐(0)

摘要: 本文描述了使用ATL开发一个ActiveX控件的完整过程。一、创建项目单击起始页中的“New Project…”,选择“ATL”分类下的“ATL Project”项目,项目名称为“Calculator”。在随后出现的项目向导中,使用默认配置即可。 二、添加控件在解决方案管理器中的项目上右击,依次选择“Add”、“Class”,在添加类对话框中选择ATL分类下的ATL Control类型。单击“Add”按钮,将会出现添加ATL Control向导。 在向导的第二步中,将接口类型选择为“Dual”,为控件支持事件做为准备,在Support选项中,选中“Connection points”复选框。. 阅读全文
posted @ 2012-11-02 16:59 DoubleLi 阅读(954) 评论(0) 推荐(0)

摘要: 之前写过文章通过自定义函数来实现ActiveX回调JS中的函数,最近在网上发现一更简洁的方法,通过事件触发,在这里小结一下,为使内容连贯,请参考我之前的《一步一步实现ATL开发的ActiveX组件与javascript的交互》系列文章http://hi.baidu.com/hwygy_001/blog/item/21ec5bc5294f64bd8326ac72.html:1.如果使用的是VS2010,则在Class View窗口中右击_ICalcEvents接口,依次选择“Add”、“Add Method…”,根据添加方法向导添加AddCompleted方法,如下图所示:若采用的VS2008, 阅读全文
posted @ 2012-11-02 16:56 DoubleLi 阅读(711) 评论(0) 推荐(0)

2012年11月1日

摘要: 1.在COM组件中调用JavaScript函数// 连接点方式页面javascript脚本<object classid="CLSID:B568F111-DFE4-4944-B67F-0728AB2AB30F" id="testCom" VIEWASTEXT></object><script language="JavaScript" for="testCom" event="staTe(s)"> alert("State(" + s + 阅读全文
posted @ 2012-11-01 19:42 DoubleLi 阅读(2595) 评论(0) 推荐(0)

2012年10月31日

摘要: JSON(JavaScript Object Notation)跟xml一样也是一种数据交换格式,了解json请参考其官网http://json.org/,本文不再对json做介绍,将重点介绍c++的json解析库的使用方法。json官网上列出了各种语言对应的json解析库,作者仅介绍自己使用过的两种C++的json解析库:jsoncpp(v0.5.0)和Boost(v1.34.0)。一. 使用jsoncpp解析jsonJsoncpp是个跨平台的开源库,首先从http://jsoncpp.sourceforge.net/上下载jsoncpp库源码,我下载的是v0.5.0,压缩包大约107K,解 阅读全文
posted @ 2012-10-31 14:57 DoubleLi 阅读(89096) 评论(2) 推荐(3)

上一页 1 ··· 443 444 445 446 447 448 449 450 451 ··· 474 下一页