Test 1 uses the "for" tag to setup the callback to the activeX event. This is successful on all versions IE8, 9, 10 and 11.
<!DOCTYPE html>
<title>TestEvent Example HTML</title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script language='javascript' for="testAxEvent" event="testEvent(szType, szValue)">
// Test 1 - statically load the script (This is the basis for the hack)
// Works on IE8, IE9, IE10 and IE11
var MSG = document.getElementById("msg");
MSG.innerHTML = szType + " : " + szValue;
</script>
</head>
<table>
<OBJECT ID='testAxEvent' CLASSID='CLSID:BA19A985-C93E-491B-B801-2EB7F903C8CE' codebase="testAxEvent.cab"></OBJECT>
<tr><td height='30'></td></tr>
<td align=center><font size=5><div id='msg'></div></font>
</table>
</body>
</html>
Test 2 uses attachEvent to bind the callback to the object element. The callback is correctly called on IE8, 9 and 10 but not on IE11, as was expected.
<!DOCTYPE html>
<title>TestEvent Example HTML</title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<table>
<OBJECT ID='testAxEvent' CLASSID='CLSID:BA19A985-C93E-491B-B801-2EB7F903C8CE' codebase="testAxEvent.cab" width='120' height='80'></OBJECT>
<tr><td height='30'></td></tr>
<td align=center><font size=5><div id='msg'></div></font>
</table>
</body>
<script>
// Test 2 - attachEvent
// Works on IE8, IE9 and IE10
// Does not work on IE11
function onTestEvent(szType, szValue)
var MSG = document.getElementById("msg");
MSG.innerHTML = szType + " : " + szValue;
var elem = document.getElementById("testAxEvent");
elem.attachEvent("testEvent", onTestEvent);
</script>
</html>
Test 3 replaces attachEvent with addEventListener. Still the event is not triggered on IE11.
<!DOCTYPE html>
<title>TestEvent Example HTML</title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<table>
<OBJECT ID='testAxEvent' CLASSID='CLSID:BA19A985-C93E-491B-B801-2EB7F903C8CE' codebase="testAxEvent.cab" width='120' height='80'></OBJECT>
<tr><td height='30'></td></tr>
<td align=center><font size=5><div id='msg'></div></font>
</table>
</body>
<script>
function onTestEvent(szType, szValue)
var MSG = document.getElementById("msg");
MSG.innerHTML = szType + " : " + szValue;
var elem = document.getElementById("testAxEvent");
// Test 3 - addEventListener
// Does not work on IE11 !
elem.addEventListener("testEvent", onTestEvent, true);
elem.addEventListener("testEvent", onTestEvent, false);
</script>
</html>
如果
ActiveX
控件
注册不正确,必须首先取消注册(通过使用switch/ u作为命令的一部分,即regsvr32/ u“ ” ),然后再次注册。需要说明的是,上述的例程和文档,都是可以下载的,双击即可打开,其中压缩文件是可以采用粘贴复制的
方式
,拷贝到硬盘上。类型库( .TLB )是二进制文件,包含使用.DLL中的过程和类所需的所有类型信息。/ RegServer 其中 是.EXE 服务器的位置。
一直以来都觉得开发IE
控件
是一件非常难的事情,都是一些比较资深的程序员开发的,对于开发IE
控件
真的是觉得无从下手。 经过这几天的,查资料,问别人,瞎摸索终于做出了我的第一个IE
控件
--汽车电子客票打印
控件
。下面按照自己的步骤,记录一下,以免以后自己都忘了,我这里是用Delphi7开发的(学校的课程设计
时
学过,后来一直都没用过,手生得很),使用了FastReport报表打印
控件
(ht
ActiveX
控件
是一个自包含代码的组件,它有自己的永久状态,并且
ActiveX
控件
与包容器之间通过COM接口进行通信,所以通常
ActiveX
控件
具有普遍的适应性,换句话说,如果
ActiveX
控件
在一个包容器程序中可以运行,那么通常它也可以运行在另一个包容器程序中。由于
ActiveX
控件
是一种可独立发布的组件程序,又是一个永久对象,这些特性使得它非常适合于Internet环境。从包容
int CtestCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct)
if (COleControl::OnCreate(lpCreateStruct) == -1)
return -1;
// TODO: 在此
因为网页中一般不能直接运行可执行程序(如.EXE程序),所以如果要实现一些自定义的方法,一般通过编写
ActiveX
控件
,然后在
ActiveX
控件
中实现所需要的功能,最终在网页中
调用
该
ActiveX
。 1.使用VB或者ATL工具来实现一个Active
控件
,在
控件
中向外暴露一个方法,该方法的功能为:首先将所要安装的程序下载到用户机器上,然后启动所下载的安装程序进行安装。 2.在网页中
调用
该控
http://labview360.com/article/info.asp?TID=10152&FID=165
Active X函式库对使用LabVIEW作为开发环境的开发人员来说,如果能呼叫或引用其他程式所开发的物件如:OCX、DLL…等。不仅能够缩短开发
时
间,更能随心所欲的设计出所需要的功能。毕竟在LabVIEW的开发环境下或多或少还是会有所限制,例如:如何用LabVIEW制作常注...
请尊重原创作品。转载请保持文章完整性,并以超链接形式注明原始作者“tingsking18”和主站点地址,方便其他朋友提问和指正。
以前是用的事件机制来
调用
JavaScript,事件和回调本来就是一回事。但是由于没有解决线程同步问题,所以就一直没有调通。JavaScript中死活也不响应异步发送过来的事件。前天用Idispatch接口调通了JavaScript。但是始终觉得不是那
问题是这样的,我要编写一个
ActiveX
,这个
ActiveX
要嵌入在网页里面并且该
ActiveX
要做一件耗
时
的计算。 为了避免让网页处于挂起并没有响应状态,需要使用第二个线程来进行那个耗
时
的计算。 在使用了第二个线程之后,突然发现原来可以正常Fire出来的
ActiveX
的
Event
们都不好用了。经多方考察,原来是
ActiveX
只能将主线程的
Event
发送给Container,在Se
Html中
ActiveX
控件
引用如下:代码<object id=axACCard1 style="LEFT: 0px; WIDTH: 164px; TOP: 0px; HEIGHT: 23px" codeBase=http://localhost/AXICCard.cab#version=1,0,0,1 classid=clsid:C...
ActiveX
控件
使用事件通知容器
控件
上发生了某些事情。事件的常见示例包括单击
控件
、使用键盘输入数据和
控件
状态更改。当发生这些操作
时
,
控件
将引发事件以提醒容器。
MFC 支持两种事件:常用和自定义。常用事件是 COleControl 类自动处理的事件。自定义事件使
控件
得以在该
控件
特定的操作发生
时
通知容器。
控件
内部状态发生更改或收到某个窗口消息即属于此类事件。
其实是抄的别人的代码。我改了改而已。IOleClientSite在ATL和MFC的
控件
类里都可以拿得到。没任何问题。#pragma once#include #include #include #include #include #include class CJsInvoker{public:CJsInvoker();BOOL CallJsFunction(const BSTR strJ...
activex
控件
中
调用
html页面中的javascript(转)
关于delphi中开发
activex
控件
,并从
activex
控件
中
调用
html页面中的javascript。
这几天在搞个需要
activex
控件
来实现的项目,丫丫的
activex
控件
应该属于都快被人遗忘的技术了。
delphi中开发
activex
控件
其实挺简单的,唯一的问题就是怎么
调用
页面中的javascript呢。