最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
用VB编写自己的Client Side OCX时添加属性和事件
时间:2022-06-30 11:09:56 编辑:袖梨 来源:一聚教程网
其实用处不算很大,因为这样的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
这样就可以在客户端脚本响应这个事件了
T LANGUAGE=vbscript>
Sub obj1_MouseMove(Button, Shift, X, Y)
If Button = 4 Then MsgBox(X & "," & Y)
End Sub
在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一样了。
在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
这样就可以在客户端脚本响应这个事件了
Sub obj1_MouseMove(Button, Shift, X, Y)
If Button = 4 Then MsgBox(X & "," & Y)
End Sub
在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一样了。
相关文章
- 不良人破局装备获取途径 07-07
- 萤火突击兑换码有哪些-萤火突击兑换码兑换码一览 07-07
- 如何用Photoshop双曲线去处理前期不足的淡妆片子? 07-07
- 三角洲行动更新内容有哪些-三角洲行动更新内容一览 07-07
- 苹果怎么快速下载Binance?Binance官网ios下载教程 07-07
- ps快速制作超好看的采桑子古风动态图教程 07-07