Standardschriftartobjekt

Die vom Container bereitgestellte Standard-Ambient-Schriftarteigenschaft und die vom -Steuerelement bereitgestellte Standardschriftarteigenschaft stellen beide ein Standardschriftartobjekt bereit. Das heißt, diese Standardschriftarten stellen einen IDispatch-Zeiger auf ein Standardschriftartobjekt bereit.

Das Schriftartobjekt ist eine vom System bereitgestellte Implementierung eines Satzes von Schnittstellen über der zugrunde liegenden GDI-Schriftartunterstützung. Ein Schriftartobjekt wird mithilfe der API-Funktion OleCreateFontIndirect erstellt, wenn eine FONTDESC-Struktur angegeben wird. Das Schriftartobjekt unterstützt über die Schnittstelle IFonteine Reihe von Lese-/Schreibeigenschaften sowie benutzerdefinierte Methoden und über eine Disp-Schnittstelle IFontDispden gleichen Satz von Eigenschaften (aber nicht die Methoden). Die Disp-Schnittstelle wird für die zuvor erwähnten Schriftarteigenschaften verwendet. Die Eigenschaften entsprechen den GDI-Schriftartattributen, die in der LOGFONT-Struktur beschrieben werden.

Das Schriftartobjekt unterstützt auch die ausgehende Schnittstelle IPropertyNotifySink, sodass ein Client bestimmen kann, wann sich Schriftarteigenschaften ändern. Da das Schriftartobjekt mindestens eine ausgehende Schnittstelle unterstützt, implementiert es zu diesem Zweck auch IConnectionPointContainer und einen Verbindungspunkt für IPropertyNotifySink.

Das Schriftartobjekt stellt eine hFont-Eigenschaft bereit, die ein Windows Schriftarthandle ist, das den anderen für die Schriftart angegebenen Attributen entspricht. Das Schriftartobjekt verzögert das Erkennen dieser Schriftart, wenn möglich, sodass das aufeinanderfolgende Festlegen von zwei Eigenschaften für eine Schriftart nicht dazu führt, dass eine Zwischenschriftart realisiert wird. Darüber hinaus verwaltet das Standardschriftartobjekt als Optimierung einen Cache von Schriftarthandles. Zwei Schriftartobjekte im selben Prozess mit identischen Eigenschaften geben das gleiche Schriftarthandle zurück. Das Schriftartobjekt kann Schriftarten nach Bekunden aus diesem Cache entfernen, was besondere Überlegungen für Clients einführt, die diese hFont-Eigenschaft verwenden. Weitere Informationen finden Sie unter IFont::get _ hFont.

Das Schriftartobjekt unterstützt auch IPersistStream, sodass es sich selbst in einer Instanz von IStreamspeichern und laden kann. Jedes andere Objekt, das intern ein Schriftartobjekt verwendet, würde normalerweise die Schriftart im Rahmen der eigenen Persistenzbehandlung des Objekts speichern und laden.

Darüber hinaus unterstützt das Schriftartobjekt IDataObject, über das es einen Eigenschaftensatz mit typisierten Werten für jede Schriftarteigenschaft bereitstellt.

Steuerelementeigenschaften