zoukankan      html  css  js  c++  java
  • vc6.0生成ocx,然后使用js调用

             使用vc++6.0生成ocx,然后使用js进行注册,调用


    1.在vc中新建OcxTestFirst的activex控件工程(选中MFC ActiveX ControlWizard)  

      


    直接点完成 效果如下




    2.为ocx控件添加属性和方法

     点 查看--建立类向导 弹出如下界面:


    点击Automation面板


    添加add和add20成员方法 都分别含有一个形参 一个返回值   点击Add Method




    添加成员变量 用于参数传递


    总体效果如下:



    修改add和add20源代码 修改如下



    查看类的id



    点击组建--全部重建 即在debug目录下生成ocx控件


    在工程目录下新建call.html文件 修改内容如下:

    <html>
    <head>
    <script type="text/javascript" language="javascript">
    	function callocx()
    	{
    		try{
    		alert("调用ocx");
    		var addocx=document.getElementById("addX");
    		//调用activex的add20方法
    		var sum=addocx.add20(5);
    		//显示经过activex的add方法之后的结果
    		alert("5+20 结果为:"+sum);
    		//调用add方法 加上传入的num为30的值
    		var sum2=addocx.add(5);
    		alert("5+30 结果为:"+sum2);
    		}catch(e)
    		{
    			alert(e);
    		}
    	}
    </script>
    <title>使用js调用ocx控件</title>
    </head>
    
    <body>
    <center>
    	<!--object标签用于向网页中嵌入多媒体元素(例如图片、视频、activex、pdf等等)
    	clsid--注册表中某个类的id
    	codebase---对象的代码位置(如果是在注册表中注册过 则可以没有)
    	-->
    	<object classid="clsid:C5424CD1-E8DE-40B2-A3FD-4AD1B3F82BAA" codebase="Debug/OcxTestFirst.ocx" id="addX" width="20" height="20">
    		<param name="num" value="30" />
    	</object>
    	<br/>
    	<input type="button" value="调用ocx的方法" onclick="callocx();">
    </center>
    </body>
    </html>


    开始运行 在ie中进行测试 因为有些浏览器不支持object标签 我的测试为ie10

       因为要安装未签名的activeX控件 所以需要修改ie的activex设置  internet选项--安全--自定义级别 将含有activex的选项都改为启用  

         





    最终的效果图:  点击调用ocx的方法的按钮






    对于以上有一点 郁闷的是 <param name="num" value="30" /> 传递值没有通过 

    有人说是要序列号参数或者继承ActiveForm之类的  目前还有没解决 再查查资料 看看 是不是哪个地方出问题了


    以上即是使用vc生成ocx 然后使用js注册 调用

  • 相关阅读:
    ubuntu sudo 号令有效处理
    shell脚本的主笔、存储、实行
    Oracle 11gR1中细粒度访谒收集处事(4)
    Solaris效力经管工具 SMF快速入门指南(1)
    Solaris 10完成宁静Kerberos身份验证(2)
    高质量C /C编程指南第2章 程序的版式
    Solaris 10下设置EJB 3.0景遇(1)
    高质量C /C编程指南序言
    Java学习之路:不走弯路,就是捷径 www.51testing.com
    两个结构体可以直接赋值吗? 回复 "JohnsonAnother" 的问题
  • 原文地址:https://www.cnblogs.com/liangxinzhi/p/4275599.html
Copyright © 2011-2022 走看看