龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > VB开发 >

ActiveX控件的创建(4)

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
注意Property DataServerName方法的用法,此方法与ReadProperties 和WriteProperties事件在一起使用。 此时需要使用用户控件的InitProperties事件指定此属性的初始值:

   注意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就是"容器对象"的名称。

精彩图集

赞助商链接