IFont-Schnittstelle (ocidl.h)

Stellt einen Wrapper um ein Windows-Schriftartobjekt bereit. Das COM-Schriftartobjekt unterstützt eine Reihe von Lese-/Schreibeigenschaften sowie eine Reihe von Methoden über die IFont-Schnittstelle . Es unterstützt den gleichen Satz von Eigenschaften (aber nicht die Methoden) über die Dispatch-Schnittstelle IFontDisp, die von IDispatch abgeleitet wird, um den Zugriff auf die Eigenschaften der Schriftart über Automation zu ermöglichen. Das System bietet eine Standardimplementierung des Schriftartobjekts mit beiden Schnittstellen.

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

Das Font-Objekt stellt eine hFont-Eigenschaft bereit, bei der es sich um ein Windows-Schriftarthandle handelt, das den anderen für die Schriftart angegebenen Attributen entspricht. Das Schriftartobjekt verzögert die Realisierung dieses hFont-Objekts nach Möglichkeit, sodass das aufeinander folgende Festlegen von zwei Eigenschaften für eine Schriftart nicht dazu führt, dass eine Zwischenschriftart realisiert wird. Darüber hinaus verwaltet das vom System implementierte Schriftartobjekt als Optimierung einen Cache mit Schriftarthandles. Zwei Schriftartobjekte im selben Prozess, die über identische Eigenschaften verfügen, geben das gleiche Schriftarthandle zurück. Das Schriftartobjekt kann Schriftarthandles aus diesem Cache nach Bewilligen entfernen, was besondere Überlegungen für Clients einführt, die die hFont-Eigenschaft verwenden.

Das Schriftartobjekt unterstützt auch IPersistStream, sodass es sich aus einer instance von IStream speichern und laden kann. Ein 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, das einen Eigenschaftssatz rendern kann, der die Attribute der Schriftart enthält, sodass ein Client diese Eigenschaften als Text speichern kann.

Vererbung

Die IFont-Schnittstelle erbt von der IUnknown-Schnittstelle . IFont verfügt auch über folgende Arten von Membern:

Methoden

Die IFont-Schnittstelle verfügt über diese Methoden.

 
IFont::AddRefHfont

Benachrichtigt das Schriftartobjekt, dass die zuvor realisierte Schriftart, die mit hFont identifiziert wurde, gültig bleiben soll, bis ReleaseHfont aufgerufen wird oder das Schriftobjekt selbst vollständig freigegeben wird.
IFont::Clone

Erstellt ein dupliziertes Schriftartobjekt.
IFont::get_Bold

Ruft die aktuelle Bold-Eigenschaft der Schriftart ab.
IFont::get_Charset

Ruft den Zeichensatz ab, der in der Schriftart verwendet wird.
IFont::get_hFont

Ruft ein Handle für die Schriftart ab, die von diesem Schriftartobjekt beschrieben wird.
IFont::get_Italic

Ruft die aktuelle italische Eigenschaft der Schriftart ab.
IFont::get_Name

Ruft den Namen der Schriftfamilie ab.
IFont::get_Size

Ruft die Punktgröße der Schriftart ab.
IFont::get_Strikethrough

Ruft die aktuelle Strikethrough-Eigenschaft der Schriftart ab.
IFont::get_Underline

Ruft die aktuelle Underline-Eigenschaft der Schriftart ab.
IFont::get_Weight

Ruft die aktuelle Weight-Eigenschaft der Schriftart ab.
IFont::IsEqual

Vergleicht dieses Schriftartobjekt auf Äquivalenz mit einem anderen.
IFont::p ut_Bold

Legt die Bold-Eigenschaft der Schriftart fest.
IFont::p ut_Charset

Legt den Zeichensatz der Schriftart fest.
IFont::p ut_Italic

Legt die italische Eigenschaft der Schriftart fest.
IFont::p ut_Name

Gibt einen neuen Namen für die Schriftfamilie an.
IFont::p ut_Size

Legt die Punktgröße der Schriftart fest.
IFont::p ut_Strikethrough

Legt die Strikethrough-Eigenschaft der Schriftart fest.
IFont::p ut_Unterstrichen

Legt die Underline-Eigenschaft der Schriftart fest.
IFont::p ut_Weight

Legt die Weight-Eigenschaft der Schriftart fest.
IFont::QueryTextMetrics

Füllt eine vom Aufrufer zugewiesene Struktur mit Informationen zur Schriftart.
IFont::ReleaseHfont

Benachrichtigt das Schriftartobjekt, dass der Aufrufer, der diese Schriftart zuvor mit IFont::AddRefHfont im Cache gesperrt hat, die Sperre nicht mehr benötigt.
IFont::SetHdc

Stellt einen Gerätekontext für die Schriftart bereit, die den logischen Zuordnungsmodus beschreibt.
IFont::SetRatio

Konvertiert den Skalierungsfaktor für diese Schriftart zwischen logischen Einheiten und HIMETRIC-Einheiten.

Hinweise

Jede Eigenschaft in der IFont-Schnittstelle enthält eine get_PropertyName-Methode , wenn die Eigenschaft Lesezugriff unterstützt, und eine put_PropertyName-Methode , wenn die Eigenschaft schreibzugriff unterstützt. Die meisten dieser Eigenschaften unterstützen sowohl Lese- als auch Schreibzugriff.

Eigenschaft Typ Lesezugriffsmethode Schreibzugriffsmethode BESCHREIBUNG
Name BSTR get_Name put_Name Der Gesichtsname der Schriftart, z. B. Arial.
Größe CY get_Size put_Size Die Punktgröße der Schriftart, ausgedrückt in einem CY-Typ , um Bruchpunktgrößen zu ermöglichen.
Fett BOOL get_Bold put_Bold Gibt an, ob die Schriftart fett formatiert ist.
Kursiv BOOL get_Italic put_Italic Gibt an, ob die Schriftart kursiv ist.
Unterstreichen BOOL get_Underline put_Underline Gibt an, ob die Schriftart unterstrichen ist.
Durchgestrichen BOOL get_Strikethrough put_Strikethrough Gibt an, ob die Schriftart durchgestrichen ist.
Weight short get_Weight put_Weight Die Fettschrift der Schriftart.
Charset short get_Charset put_Charset Der in der Schriftart verwendete Zeichensatz, z. B. ANSI_CHARSET, DEFAULT_CHARSET oder SYMBOL_CHARSET.
hFont HFONT get_hFont Das Windows-Schriftarthandle, das zum Rendern in einem Gerätekontext ausgewählt werden kann.
 

OLE-Implementierung

Das System bietet eine Standardimplementierung eines Schriftartobjekts mit der IFont-Schnittstelle auf der zugrunde liegenden Systemschriftartunterstützung. Ein Schriftartobjekt wird über die Funktion OleCreateFontIndirect erstellt. Ein Schriftartobjekt unterstützt eine Reihe von Lese-/Schreibeigenschaften sowie eine Reihe von Methoden über seine IFont-Schnittstelle und unterstützt denselben Satz von Eigenschaften (aber nicht die Methoden) über eine Dispatch-Schnittstelle IFontDisp , die von IDispatch abgeleitet wird, um den Zugriff auf die Eigenschaften der Schriftart über Automation zu ermöglichen. Die Systemimplementierung des Schriftartobjekts stellt beide Schnittstellen bereit.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile ocidl.h

Weitere Informationen

IFontDisp