如何给vb的UserControl添加属性、方法和事件?

一、属性的派生
Public Property Let 属性名(ByVal NewValue As 类型名)
   PropertyChanged "属性名"
End Property
Public Property Get 属性名() As 类型名
End Property
如果是只读的属性,缺省Let过程即可。

二、方法的派生
Public Sub 方法名(参数表)
End Sub
Public Function 方法名(参数表) As 类型名
End Function

三、事件的派生
'申明部分
Public Event 事件名(参数表)
'激活部分
RaiseEvent 事件名(参数表)

四、UserControl自有事件
InitProperties:创建对象的新实例时,发生该事件。
Initialize:父对象创建UserControl时,发生该事件。
Resize:大小改变时,发生该事件。
ReadProperties:当加载具有保存状态的对象的旧实例时,发生该事件。
   内部过程:Set 对象名= PropBag.ReadProperty("属性名", 默认值)
WriteProperties:当保存对象的实例时(由PropertyChanged引发),发生该事件。
   内部过程:Call PropBag.WriteProperty("属性名", 属性值, 默认值)

五、UserControl固有过程
(1)字体部分
     Private WithEvents mFont As StdFont
     Private Sub UserControl_Initialize()
       Set mFont = New StdFont
       Set UserControl.Font = mFont
     End Sub
     Public Property Get Font() As StdFont
       Set Font = UserControl.Font
     End Property
     Private Sub mFont_FontChanged(ByVal PropertyName As String)
       Set UserControl.Font = mFont
       Refresh
     End Sub
     Public Property Set Font(mnewFont As StdFont)
       With mFont
         .Bold = mnewFont.Bold
         .Charset = mnewFont.Charset
         .Italic = mnewFont.Italic
         .Name = mnewFont.Name
         .Size = mnewFont.Size
         .Strikethrough = mnewFont.Strikethrough
         .Underline = mnewFont.Underline
         .Weight = mnewFont.Weight
        End With
       PropertyChanged "Font"
     End Property
(2)光标、鼠标、句柄部分
'注意!不要删除或修改下列被注释的行!
'MappingInfo=UserControl,UserControl,-1,MouseIcon
Public Property Get MouseIcon() As Picture
    Set MouseIcon = UserControl.MouseIcon
End Property
Public Property Set MouseIcon(ByVal New_MouseIcon As Picture)
    Set UserControl.MouseIcon = New_MouseIcon
    PropertyChanged "MouseIcon"
End Property
'注意!不要删除或修改下列被注释的行!
'MappingInfo=UserControl,UserControl,-1,HasDC
Public Property Get HasDC() As Boolean
    HasDC = UserControl.HasDC
End Property
'注意!不要删除或修改下列被注释的行!
'MappingInfo=UserControl,UserControl,-1,hDC
Public Property Get hDC() As Long
    hDC = UserControl.hDC
End Property
'注意!不要删除或修改下列被注释的行!
'MappingInfo=UserControl,UserControl,-1,hWnd
Public Property Get hwnd() As Long
    hwnd = UserControl.hwnd
End Property

六、UserControl对象
Public属性:决定是调用形式使用还是以ActiveX方式使用。
BackStyle属性:在父对象中是否透明。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值