|
导读其实用处不算很大,因为这样的OCX要运行的话,必须要有数字签名,还需要别人同意安装,不然就会每次提示你,什么什么不安全之类的话。在VB里面建立一个ActiveX控件,然后在外接程序菜单里面选Acti... 其实用处不算很大,因为这样的OCX要运行的话,必须要有数字签名,还需要别人同意安装,不然就会每次提示你,什么什么不安全之类的话。在VB里面建立一个ActiveX控件,然后在外接程序菜单里面选ActiveX控件接口向导(如果没有的话,在外接程序管理器里加一个) 在这里面就可以定义想要的Method, Property, Event了,如果要想在Client Script 调用的话,就要在设置映射的那一步,映射到控件的成员上去。 完成后,它会给你加上这样的代码(我加了一个MouseMove事件) Event MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) 'MappingInfo=UserControl,UserControl,-1,MouseMove Private Sub UserControl_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) RaiseEvent MouseMove(Button, Shift, X, Y) End Sub 这样就可以在客户端脚本响应这个事件了 <SCRIPT LANGUAGE=vbscript> Sub obj1_MouseMove(Button, Shift, X, Y) If Button = 4 Then MsgBox(X & "," & Y) End Sub </SCRIPT> 在JavaScript里面我还不知道如何取得Button,Shift, X,Y这些参数,不过ActiveX也只能在IE里面用,所以也无所谓了。 加一个属性的代码就要麻烦多了,幸好不用自己写 '注意!不要删除或修改下列被注释的行! 'MappingInfo=UserControl,UserControl,-1,BackColor Public Property Get BackColor() As OLE_COLOR BackColor = UserControl.BackColor End Property Public Property Let BackColor(ByVal New_BackColor As OLE_COLOR) UserControl.BackColor() = New_BackColor PropertyChanged "BackColor" End Property '从存贮器中加载属性值 Private Sub UserControl_ReadProperties(PropBag As PropertyBag) UserControl.BackColor = PropBag.ReadProperty("BackColor", &H8000000F) End Sub '将属性值写到存储器 Private Sub UserControl_WriteProperties(PropBag As PropertyBag) Call PropBag.WriteProperty("BackColor", UserControl.BackColor, &H8000000F) End Sub 其它的就和写普通的ActiveX Component一样了。 |
温馨提示:喜欢本站的话,请收藏一下本站!