之前有注意过该方面的技术,但一直没动手试过。由于工作的需要,现在得试试了,花了一上午的时间才搞定。
费话不说了,下面做个总结吧!
第三方控件有很多,因为自己手里需要维护的是dephi编写的ocx控件,所以自己就打算使用ocx控件来试试,为
了防止冲突,我在网上下载了一个ocx控件,名字为NiceForm.ocx。下载完了后首先是注册. 注册指令为:
regsvr32 C:/NiceForm.ocx 。cmd下输入该指令即可,注意后面 C:/NiceForm.ocx 路径必须正确。注册完毕后会
出现成功的提示框“C:/NiceForm.ocx 中的DllRegisterServer成功”表示注册成功。卸载注册表指令为
“regsvr32 -u C:/NiceForm.ocx”。同样注意路径问题。成功注册是第一步。
下面是第二步,注册后的classid的查询,花了我满长的时间,搞了半天就在注册表中找到你的控件对应的classid
即可,cmd下输入regedit后在弹出的注册表中HKEY_CLASSES_ROOT下面找到你所注册的控件,比我的是
NiceFormControl等等,打开下面Clsid中对应的Classid即可。记录下该classid比如
17D15A53-D580-4012-8824-CD49B3536822 到此完成了第二步。
下面是第三步,写一个测试小程序,运行该控件。在我注册的NiceForm.ocx中封装了很多小部件,比如
NIceButton,NIceCheck等等,我选择了NiceSlider做测试用,在页面中输入调用该对象的代码,页面代码如下:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'Index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
<script>
function Test()
{
alert("nihao");
alert(document.getElementById("ocxtype").value);
}
</script>
</head>
<body>
<table width="100%">
<tr bgcolor="fecc00">
<td><OBJECT id=ocxtype height=50px width=150px classid=CLSID:0646B140-770D-4F12-A26F-D09FD9F91C94 codebase="<%=request.getContextPath()%>/ocx/NiceForm.cab#version=1.5.0.0"></OBJECT></td>
</tr>
<tr>
<td width="100px"><input type="button" onclick="Test();" /></td>
</tr>
</table>
</body>
</html>
红色表示调用的对象,版本可以在下载的NiceForm.ocx属性中获得,codebase指明了你存放ocx控件的路径
然后运行该程序,效果是你移动sliderbar点击按纽后会弹出提示框显示slider的值。好了!介绍到此为止,希望对
某些人有帮助。