ABOUT Visual Basic Programmieren Programmierung Download Downloads Tips & Tricks Tipps & Tricks Know-How Praxis VB VBA Visual Basic for Applications VBS VBScript Scripting Windows ActiveX COM OLE API ComputerPC Microsoft Office Microsoft Office 97 Office 2000 Access Word Winword Excel Outlook Addins ASP Active Server Pages COMAddIns ActiveX-Controls OCX UserControl UserDocument Komponenten DLL EXE
Diese Seite wurde zuletzt aktualisiert am 06.01.2000

Diese Seite wurde zuletzt aktualisiert am 06.01.2000
Aktuell im ABOUT Visual Basic-MagazinGrundlagenwissen und TechnologienKnow How, Tipps und Tricks rund um Visual BasicActiveX-Komponenten, Controls, Klassen und mehr...AddIns für die Visual Basic-IDE und die VBA-IDEVBA-Programmierung in MS-Office und anderen AnwendungenScripting-Praxis für den Windows Scripting Host und das Scripting-ControlTools, Komponenten und Dienstleistungen des MarktesRessourcen für Programmierer (Bücher, Job-Börse)Dies&Das...

Themen und Stichwörter im ABOUT Visual Basic-Magazin
Code, Beispiele, Komponenten, Tools im Überblick, Shareware, Freeware
Ihre Service-Seite, Termine, Job-Börse
Melden Sie sich an, um in den vollen Genuss des ABOUT Visual Basic-Magazins zu kommen!
Informationen zum ABOUT Visual Basic-Magazin, Kontakt und Impressum

Zurück...

Zurück...


Anzeige

(-hg) mailto:hg_tagvariant@aboutvb.de

Der originalen MSDN Library - VB TagTag-Eigenschaft von Steuerelementen in Visual Basic können Sie nur Strings oder in Strings konvertierte numerische Werte zuweisen. Ihre eigenen, auf der Basis von UserControls erstellten Steuerlementen können Sie dagegen mit einer TagVariant-Eigenschaft versehen, die - wie ihr Name schon besagt - beliebige Variant-Werte aufnehmen kann. Auch Ihre Forms und ebenso Ihre Klassen können Sie mit einer solchen TagVariant-Eigenschaft ausrüsten.

In der Property Get-Prozedur müssen Sie prüfen, ob die lokale Variable pTagVariant ein Objekt enthält und dementsprechend den Rückgabewert mittels der Set-Anweisung zuweisen.

Private pTagVariant As Variant

Public Property Get TagVariant() As Variant
  If IsObject(pTagVariant) Then
    Set TagVariant = pTagVariant
  Else
    TagVariant = pTagVariant
  End If
End Property

Da Sie über einen Variant-Datentyp auch ein Objekt zuweisen können, sollten Sie zur Zuweisung sowohl eine Property Let- als auch eine Property Set-Prozedur anlegen.

Public Property Let TagVariant(New_TagVariant As Variant)
  pTagVariant = New_TagVariant
  PropertyChanged "TagVariant"
End Property

Da sich der Datentyp des übergebenen Parameters bei der Property Set-Prozedur von dem der Property Let-Prozedur unterscheiden darf, sollten Sie den Parameter konsequenterweise als Object deklarieren:

Public Property Set TagVariant(New_TagVariant As Object)
  Set pTagVariant = New_TagVariant
  PropertyChanged "TagVariant"
End Property

Wenn Sie wollen, dass die Zuweisung eines Objekts auch ohne Set-Anweisung erfolgen darf (wie etwa bei der Picture-Eigenschaft bei VB-Steuerelementen), müssen Sie ähnlich wie in der Property Get-Prozedur prüfen, ob ein Objekt vorliegt und dementsprechend die Zuweisung an die lokale Variable pTagVariant vornehmen.

Public Property Let TagVariant(New_TagVariant As Variant)
  If IsObject(New_TagVariant) Then
    Set pTagVariant = New_TagVariant
  Else
    pTagVariant = New_TagVariant
  End If
  PropertyChanged "TagVariant"
End Property

Soll bei einem UserControl oder einer persistenten Klasse (ab VB 6) der Inhalt der TagVariant-Eigenschaft im PropertyBag gespeichert werden, sind die entsprechenden Anweisungen in die ReadProperties- und WriteProperties-Ereignisse aufzunehmen:

Private Sub UserControl_ReadProperties(PropBag As PropertyBag)
  Me.TagVariant = PropBag.ReadProperty("TagVariant", vbEmpty)
End Sub

Private Sub UserControl_WriteProperties(PropBag As PropertyBag)
  PropBag.WriteProperty "TagVariant", pTagVariant, vbEmpty
End Sub

Als Standardwert wird hier vbEmpty verwendet. Damit Sie nicht auch hier wieder die Prüfung auf ein Objekt hin einfügen müssen, können Sie den aus dem PropertyBag ausgelesenen Wert über die Property Let-Prozedur zuweisen (natürlich geht das nur, wenn Sie die zweite Variante der Property Let-Prozedur verwendet haben).

Vergessen Sie nicht, die Zeile mit dem PropertyChanged-Aufruf in die Property Let- und die Property Set-Prozedur einzufügen, damit VB weiß, dass eine Änderung des Wertes der Eigenschaft gespeichert werden soll.


Beispiel-UserControl ucTagVariant (ucTagVariant.ctl - ca. 1,5 KB)






Themen - Allgemeines
Themen - Entwicklungsumgebung (VB-IDE)
Themen - Forms
Themen - Steuerelemente (Controls)
Themen - Grafik
Themen - Dateien
Themen - UserControls
Themen - Einsteiger-Tipps
Themen - Wussten Sie...?

Übersicht nach Titeln in alphabetischer Reihenfolge
Übersicht nach Erscheinungsdatum

Schnellsuche



Zum Seitenanfang

Copyright © 1999 - 2017 Harald M. Genauck, ip-pro gmbh  /  Impressum

Zum Seitenanfang

Zurück...

Zurück...

Download Internet Explorer