Visual Basic - Technik, FAQ, Tricks, Beispiele

Home / Objekte / Sonstiges / CloneFont

Font-Objekte klonen/kopieren

Möchte man den Zeichensatz eines Steuerelements auf ein anderes Control kopieren, so denkt man eventuell zuerst an folgende Lösung:
Set Text2.Font = Text1.Font
Dadurch wird jedoch nur eine Referenz auf das Font-Objekt kopiert. Das hat zur Folge, dass beiden Controls der selbe Font zugewiesen ist. Die Änderung des Fonts eines Controls führt also zur gleichzeitigen Änderung des anderen Control-Fonts.
Um dies zu vermeiden muss eine echte Kopie des Font-Objekts angelegt werden. Dazu kann die undokumentierte IFont-Schnittstelle benutzt werden, welche gerade eine Clone-Methode besitzt. Hier die resultierende Funktion:
Function CloneFont(ByRef aFont As IFont) As StdFont
  aFont.Clone CloneFont
End Function
Dann kann mittels
Set Text2.Font = CloneFont(Text1.Font)
eine echte Kopie des Fonts zugewiesen werden.
Übersetzung eines Artikels von Francesco Balena (VB2TheMax).

© Jost Schwider, 15.06.2000-15.06.2000 - http://vb-tec.de/clonfont.htm