聲明:參考資料來自其他部落客,如果侵犯您的權益,需要删除本文,請聯系[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帶參數的函數之間的參數傳遞。
代碼下載下傳: