Rubrik: Controls · UserControl | VB-Versionen: VB5, VB6 | 22.06.02 |
UserControl - Name autom. übernehmen Ein Tipp, wie sich der Name eines UserControls ermittelt lässt, um diesen z.B. in einer Caption-/Text-Eigenschaft vorzugeben. | ||
Autor: Florian Platzer | Bewertung: | Views: 15.077 |
www.vbmaster.gbadmin.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | kein Beispielprojekt |
Wenn man einen CommandButton auf eine Form plaziert, wird die Caption-Eigenschaft des Buttons autom. auf den Namen des Controls gesetzt.
Beispiel:
Plazieren Sie einen CommandButton auf eine leere Form. Dieser Button bekommt autom. den Namen Command1 und in der Caption-Eigenschaft steht ebenfalls Command1. Plazieren Sie nun einen weiteren CommandButton auf die Form. Logisch: der zweite Button heißt Command2 und in der Caption-Eigenschaft steht ebenfalls Command2.
Nachfolgender Tipp zeigt, wie Sie genau diese Verhaltensweise in Ihrem eigenen UserControl (ActiveX-Control) realisieren können.
Hier der Code:
Option Explicit Private m_Caption As String Private Sub UserControl_InitProperties() ' Neue Instanz des Controls wurde erstellt ' Über das Extender-Objekt ermitteln wir nun den ' von der VB-IDE vergebenen Namen Caption = Extender.Name End Sub Public Property Get Caption() As String ' Caption-Eigenschaft im Eigenschaftenfenster ' anzeigen Caption = m_Caption End Property Public Property Let Caption(ByVal sNewCaption As String) ' Caption-Eigenschaft wurde vom Anwender verändert m_Caption = sNewCaption PropertyChanged "Caption" End Property Private Sub UserControl_ReadProperties(PropBag As PropertyBag) ' Eigenschaften lesen With PropBag m_Caption = .ReadProperty("Caption", "") End With End Sub Private Sub UserControl_WriteProperties(PropBag As PropertyBag) ' Eigenschaften speichern With PropBag .WriteProperty "Caption", m_Caption, "" End With End Sub