求教activeX控件传递和获取参数的问题
发布网友
发布时间:2022-04-24 23:59
我来回答
共1个回答
热心网友
时间:2022-04-25 01:29
看看这个例子:
编写activex控件
作为示例性说明,这里编写最简单的activex控件,只包括一个属性、一个方法、一个事件。具体操作如下:
1、打开vb6,新建一个activex控件的项目,在设计界面上拖拽两个Command控件,如图:
2,在代码视图中写如下代码:
Public MyValue As String
Public Event TestEvent()
Private Sub Command1_Click()
MsgBox Me.MyValue
End Sub
Private Sub Command2_Click()
RaiseEvent TestEvent
End Sub
Public Sub InvokeMethod(ByVal par As String)
MsgBox "InvokeMethod,the parameter is:" & par
End Sub
3,然后打包这个activex控件就可以了。
使用javascript访问activex控件
<script language="javascript" id="mian">
//属性
function Go()
{
UserControl1.MyValue="get my value test!";
}
Go();
</script>
//事件
<script ID="clientEventHandlersJS" language="javascript" FOR="UserControl1" EVENT="TestEvent">
window.alert("raise event test!")
</script>
//方法
<script id="eventforbutton1" language="javascript" FOr="Button1" EVENT="onclick">
UserControl1.InvokeMethod("java parameter");
</script>
使用vbscript访问activex控件
<script language= "vbscript">
'属性
UserControl1.MyValue="get my value test!"
'事件
sub UserControl1_TestEvent()
msgbox "raise event test!"
end sub
'方法
sub Button1_onclick()
UserControl1.InvokeMethod("vb parameter")
end sub
</script>
说明
需要注意的是,如果把脚本代码写在activex控件之前,IE加载整个页面,会先执行脚本文件,这时候就会出现activex对象不存在的错误,解决办法是把脚本写在activex声明之后就可以了。