Rubrik: Controls · UserControl | VB-Versionen: VB5, VB6 | 18.11.04 |
UserControl_InitProperties kurz gemacht Dieser Tipp zeigt, wie man das UserControl_InitProperties "abkürzen" und dennoch alle Eigenschaften mit ihren Defaultwerten vorbelegen kann. | ||
Autor: Florian Platzer | Bewertung: | Views: 13.054 |
www.vbmaster.gbadmin.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | kein Beispielprojekt |
Wer viel mit ActiveX-Steuerelementen zu tun hat, weiß sicherlich, wie anstrengend es sein kann, die gesamten Eigenschaften zu verwalten. Da wären die Eigenschaften selbst, dann das InitProperties-, das ReadProperties- und das WriteProperties-Ereignis des Usercontrols, welches zu bearbeiten sind. Man kann sich das Leben aber auch ein wenig leichter machen, indem man das InitProperties-Event einfach "abkürzt". Voraussetzung ist jedoch, dass die Standardwerte der Eigenschaften im ReadProperties-Event mitgegeben werden.
Wie das funktioniert, zeigt dieser Tipp. Wir deklarieren einfach ein leeres PropertyBag-Objekt und gaukeln dem ReadProperties-Ereignis vor, dass es sich um ein gefülltes PropertyBag handelt. Ist es aber nicht und deshalb werden die Standardwerte genommen
Anstelle von...
Private Sub UserControl_InitProperties() ' Standardwerte manuell festlegen m_BackColor = vbButtonFace m_Enabled = True ... End Sub
... verwenden wir folgenden Code:
Private Sub UserControl_InitProperties() Dim myPropBag As PropertyBag ' autom. die Standardwerte setzen Set myPropBag = New PropertyBag Call UserControl_ReadProperties(myPropBag) Set myPropBag = Nothing End Sub
Im ReadProperties-Ereignis selbst werden die Standardwerte wie folgt festgelegt:
Private Sub UserControl_ReadProperties(PropBag As PropertyBag) With PropBag m_BackColor = .ReadProperty("BackColor", vbButtonFace) ' Standardwert = vbButtonFace m_Enabled = .ReadProperty("Enabled", True) ' Standardwert = True ... End With End Sub