其实,这个问题没什么技术含量,可是偏偏许多人不知道,于是有了这篇文章。
首先,新建一个ActiveX Control工程,在界面上放一个TextBox,然后,打开代码窗口,输入如下代码:
Public a As String
Public Property Get Value() As String
a = Text1.Text
Value = a
End Property
Public Property Let Value(ByVal vNewValue As String)
a = vNewValue
Text1.Text = a
End Property
Private Sub UserControl_ReadProperties(PropBag As PropertyBag)
Call PropBag.ReadProperty("Value")
End Sub
Private Sub UserControl_WriteProperties(PropBag As PropertyBag)
PropBag.WriteProperty "Value",a
End Sub
现在,我们已经为控件封装好了一个“Value”属性,接下来,我们设置该属性为控件的默认属性,步骤如下:
在代码窗口打开的前提下,点击“工具”菜单,选择“过程属性”,在“名称”一栏中选择“Value”
然后,点击“高级”按钮,在“过程标识符”中,选择“(缺省)”,最后,点击“应用”按钮,编译即可。
其实,这样也可以,用记事本打开相应的ctl文件,这里我们设置“Value”属性为控件的默认属性,找到:
Public Property Get Value() As String
a = Text1.Text
Value = a
End Property
添加一句:Attribute Value.VB_UserMemId = 0,让它变成:
Public Property Get Value() As String
Attribute Value.VB_UserMemId = 0
a = Text1.Text
Value = a
End Property
然后,保存,编译即可
原文链接:https://www.f2er.com/vb/262755.html