ActiveX控件的创建(4)
注意Property DataServerName方法的用法,此方法与ReadProperties
和WriteProperties事件在一起使用。
此时需要使用用户控件的InitProperties事件指定此属性的初始值:
Private Sub UserControl_InitProperties()
m_DataServerName = m_def_DataServerName
End Sub
即使用户没有设置初始值,这些代码也会确保设置了一个初始值。
至于DataBaseName、AdministratorName、PasseordName 属性的创建过程跟DataServername属性的创建过程完全一样,这里就不再重复叙述。
◆使用PropertyBag对象
用户还需要为WriteProperties和ReadProperties事件创建代码,从而保护DataServername、DataBaseName、AdministratorName、PasseordName属性在设计阶段的属性值。这两个事件都使用PropertyBag 对象保存和检索DataServername、DataBaseName、AdministratorName、PasseordName属性的值。PropertyBag对象能够保持DataServername、DataBaseName、
AdministratorName、PasseordName的设计值。具体实现代码如下:
Private Sub UserControl_ReadProperties(PropBag As PropertyBag)
m_DataServerName = PropBag.ReadProperty("DataServerName",
m_def_DataServerName)
m_DataBaseName = PropBag.ReadProperty("DataBaseName",
m_def_DataBaseName)
m_AdministratorName = PropBag.ReadProperty("AdministratorName", m_def_AdministratorName)
m_PasswordName = PropBag.ReadProperty("PasswordName",
m_def_PasswordName)
End Sub
Private Sub UserControl_WriteProperties(PropBag As PropertyBag)
Call PropBag.WriteProperty("DataServerName", m_DataServerName,
m_def_DataServerName)
Call PropBag.WriteProperty("DataBaseName", m_DataBaseName,
m_def_DataBaseName)
Call PropBag.WriteProperty("AdministratorName",
m_AdministratorName, m_def_AdministratorName)
Call PropBag.WriteProperty("PasswordName", m_PasswordName,
m_def_PasswordName)
End Sub
由于这两个过程是针对"容器"对象的,因此所有属性值的保存和读取都通过这两个过程来实现,而不是每个属性都需要单独的两个过程。其中,PropertyBag就是"容器对象"的名称。
- 上一篇:用VB快速读取TextBox第N行的数据
- 下一篇:如何在VB中制作不回显的文本框