天天看点

JS与OCX交互

声明:参考资料来自其他博主,如果侵犯您的权益,需要删除本文,请联系[email protected]进行删除。

最近在研究OCX,现在把JS与OCX的交互实现整理记录一下。

一、在VS2008根据MFC ActiveX控件向导生成一个OCX,具体参考了http://download.csdn.net/detail/tgdzsjh/6545751中的FirstOcx创建过程。

在VS2008中生成FirstOcx的时候,FirstOcx.ocx已经注册好了;如果需要手动注册的话,先将FirstOcx.ocx复制到C:\Windows\System32下(64位复制到C:\Windows\SysWOW64下)以管理员身份运行cdm,然后cd到FirstOcx.ocx所在目录输入regsvr32 FirstOcx.ocx进行注册。由此ocx已创建好。

二、JS调用First.ocx里的AboutBox()和MyFunction()。这里参考了http://fpcfjf.blog.163.com/blog/static/55469793201501231519297/这篇文章。具体代码如下:

<!DOCTYPE html>

<html>

<head>

  <title>js and ocx interface</title>

  <script type="text/javascript">

  function js_init(){

    FirstOcx.AboutBox();

    alert("login successed");

  }

  function js_call(){

    FirstOcx.MyFunction();

  }

  </script>

</head>

<body>

<p>

<object classid="clsid:E246C14F-DECE-492E-9BB7-14C7E322BEC1" id ="FirstOcx" style="width:347px;height: 265px">

<PARAM NAME = "_Version" VALUE = "65536">

<PARAM NAME = "_ExtentX" VALUE = "2646">

<PARAM NAME = "_ExtentY" VALUE = "1323">

<PARAM NAME = "_StockPros" VALUE = "0">

</object>

</p>

<p>

<input id = "Button1" type = "button" value = "initialize" οnclick="return js_init()" />

<input id = "Button2" type = "button" value = "on self" οnclick=" return js_call()" />

</p>

</body>

</html>

因为在创建OCX的时候,已经进行了调度映射,所以第二篇参考文章中说的问题就解决了。

下一步,将研究JS和OCX带参数的函数之间的参数传递。

代码下载:

继续阅读