在HTML网页中插入ActiveX控件

若如初见. 提交于 2020-03-06 13:26:40

开发工具:
1. Visual Studio 2005,用于ActiveX组件的开发
2. Microsoft ActiveX Control Pad,用于生成包含ActiveX Control的HTML网页。


步骤:
1. 通过Visual Studio 2005新建一个MFC ActiveX Control工程,编译之后在debug/release目录下可以找到一个XXXX.ocx文件。具体步骤可以参考MSDN。

2. 在ActiveX Control Pad选择菜单File -> New HTML,创建一个HTML页面。

3. 从ActiveX Control Pad选择菜单Edit -> Insert ActiveX Control ....,然后会弹出一个消息框。从消息框的列表中选择相应的ActiveX Control,点击OK即可将ActiveX Control插入到HTML页面。

4. 在本机通过IE浏览器打开生成的HTML即可看到ActiveX Control显示在HTML页面中。


如果把网页放到HTTP server上,要让其他电脑上可以通过IE来访问该页面并且ActiveX组件可以正常运行,还有一些额外的步骤需要完成。

通过ActiveX Control Pad生成的HTML看起来就像下面一定脚本:

<HTML>
<HEAD>
<TITLE>New Page</TITLE>
</HEAD>
<BODY>

<OBJECT ID="ActiveXControlTest11" WIDTH=100 HEIGHT=51
 CLASSID="CLSID:96908503-3BEB-4E2B-AA87-F44DC492BC0E">
    <PARAM NAME="_Version" VALUE="65536">
    <PARAM NAME="_ExtentX" VALUE="2646">
    <PARAM NAME="_ExtentY" VALUE="1323">
    <PARAM NAME="_StockProps" VALUE="0">
</OBJECT>

</BODY>
</HTML>

每一个ActiveX Control都会有一个对应的CLSID,该ID是唯一的。通过OBJECT的CLASSID属性指定ActiveX Contorl的ID,就可以找到相应的ActiveX Control。每一个ActiveX Control都必须先注册,再使用。上述实例可以正常运行是因为在编译ActiveX工程的时候,VS2005会自动完成对ActiveX Control的注册。ActiveX Contorl的注册和反注册也可以通过实用工具regsvr32完成。

如HTML中对OBJECT加入CODEBASE属性,就可以让IE自动完成对ActiveX Control的注册。修改后的HTML脚本如下:

<HTML>
<HEAD>
<TITLE>New Page</TITLE>
</HEAD>
<BODY>

<OBJECT ID="ActiveXControlTest11" WIDTH=100 HEIGHT=51
 CLASSID="CLSID:96908503-3BEB-4E2B-AA87-F44DC492BC0E"
 CODEBASE="release/ActiveXControlTest1.ocx">
    <PARAM NAME="_Version" VALUE="65536">
    <PARAM NAME="_ExtentX" VALUE="2646">
    <PARAM NAME="_ExtentY" VALUE="1323">
    <PARAM NAME="_StockProps" VALUE="0">
</OBJECT>

</BODY>
</HTML>


相关链接:
Microsoft ActiveX Control Pad
http://msdn2.microsoft.com/en-us/library/ms968493.aspx

 

TrackBack:http://blog.csdn.net/Jimin/archive/2008/01/02/2009883.aspx

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!