VS2005,添加完一个ActiveX控件后,在WINFORM中该控件出现在工具箱中,并可以使用;但在WEB中没有该控件。请问如何在WEB中实现该控件?谢谢!!

解决方案 »

  1.   

    在WEB中必须采用JAVASCRIPT才可以调用,ACTIVEX在WEB中是以OBJECT的形式存在,然后你就可以使用JS调用它的方法.给你看个例子:
    <HTML>
    <HEAD>
    <TITLE>print.CAB</TITLE>
    <script language='javascript'>
    function aa()
    {
    PrintControl.PrintDoc();
    }
    </script>
    </HEAD>
    <BODY onload="aa()">
    <OBJECT ID="PrintControl"
    CLASSID="CLSID:21DC1BDE-5AA1-4EE5-BDF2-6A6AFE0BC175"
    CODEBASE="print.CAB#version=1,0,0,0">

    </OBJECT>
    </BODY>
    </HTML>
      

  2.   

    要注意,客户端必须安装你生成的CAB包!
      

  3.   

    非常感谢,请问CODEBASE里直接用OCX文件可以吗,还是必须打包成CAB?二者有什么区别呢?谢谢!
      

  4.   

    你好,按你的方法调用了:
    <object id="map1" classid="clsid:A10A943B-0959-4AA5-B384-9302BCB10719" width="400" height="400" codebase="aaa.CAB" >
    </object>
    其中aaa.CAB是用OCX打包的。这控件下来就一个OCX文件,没有关联的DLL,所以我也没写INF,就直接把这个OCX打包了。刚去MSDN上,说也可以直接调用OCX和DLL文件。http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/vccore/html/_vccore_creating_a_cab_file.asp
    但不知道我这么调用对不对,因为在map1里没找到控件自定义的属性、方法、事件。
    还想请问,我这样在前台定义的object对象,能否在后台对它进行操作??我在后台找不到map1...请指点下我这前台脚本小白~谢谢了!!