Freigeben über


Standard Font-Objekt

Die standardmäßige Umgebungsschriftart-Eigenschaft, die vom Container bereitgestellt wird, und die vom Steuerelement bereitgestellte Standardschriftarteigenschaft stellen ein Standardschriftartobjekt bereit. Das heißt, diese Standardschriftarten stellen einen IDispatch- Zeiger auf ein Standardschriftartobjekt bereit.

Das Schriftartobjekt ist eine vom System bereitgestellte Implementierung einer Reihe von Schnittstellen über der zugrunde liegenden GDI-Schriftartunterstützung. Ein Schriftartobjekt wird über die API-Funktion OleCreateFontIndirect mit einer FONTDESC- Struktur erstellt. Das Schriftartobjekt unterstützt eine Reihe von Lese-/Schreibeigenschaften sowie benutzerdefinierte Methoden über die Schnittstelle IFontund unterstützt denselben Satz von Eigenschaften (aber nicht die Methoden) über eine dispinterface IFontDisp. Die Dispinterface 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 schriftarteigenschaften geändert werden. Da das Schriftartobjekt mindestens eine ausgehende Schnittstelle unterstützt, implementiert es auch IConnectionPointContainer- und einen Verbindungspunkt für IPropertyNotifySink- zu diesem Zweck.

Das Schriftartobjekt stellt eine hFont-Eigenschaft bereit, bei der es sich um ein Windows-Schriftarthandle handelt, das den anderen Attributen entspricht, die für die Schriftart angegeben sind. Das Schriftartobjekt verzögert die Verschiebung dieser Schriftart, sodass das 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 den gleichen Schriftarthandle zurück. Das Schriftartobjekt kann Schriftarten nach Bedarf aus diesem Cache entfernen, wodurch besondere Überlegungen für Clients mit dieser hFont-Eigenschaft eingeführt werden. Weitere Informationen finden Sie unter IFont::get_hFont.

Das Schriftartobjekt unterstützt auch IPersistStream-, sodass es sich aus einer Instanz von IStream-speichern und laden kann. Alle anderen Objekte, die ein Schriftartobjekt intern verwenden, würden normalerweise die Schriftart als Teil der eigenen Persistenzbehandlung des Objekts speichern und laden.

Darüber hinaus unterstützt das Schriftartobjekt IDataObject-, über das ein Eigenschaftensatz mit typierten Werten für jede Schriftarteigenschaft bereitgestellt wird.

-Steuerelementeigenschaften