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 |