CFont::CreateFont

BOOL CreateFont ( Int nHeight, Int nWidth, Int nEscapement, Int nOrientation, Int nWeight, BYTE bItalic, BYTE bUnderline, BYTE cStrikeOut, BYTE nCharSet, BYTE nOutPrecision, BYTE nClipPrecision, BYTE nQuality, BYTE nPitchAndFamily, LPCTSTR LpszFacename );

Rückgabewert

Ungleich NULL, wenn erfolgreich; andernfalls 0.

Parameter

nHeight

Gibt die gewünschte Höhe der Schriftart (in logischen Einheiten). Die Schrifthöhe kann folgendermaßen angegeben werden:

nWidth

Gibt die durchschnittliche Breite (in logischen Einheiten) von Zeichen in der Schriftart. Wenn nWidth 0 ist, wird das Seitenverhältnis des Geräts abgestimmt werden, gegen das die Digitalisierung Seitenverhältnis der verfügbaren Schriftarten, die ähnlichste Entsprechung zu finden, der durch den absoluten Wert der Differenz bestimmt wird.

nEscapement

Gibt den Winkel (in Einheiten von 0,1 Grad) zwischen dem Vorschubvektor und der x-Achse der Display-Oberfläche. Der Vorschubvektor ist die Linie über die Ursprünge der ersten und letzten Zeichen in einer Zeile. Der Winkel wird von der x-Achse gegen den Uhrzeigersinn gemessen.

nOrientation

Gibt den Winkel (in Einheiten von 0,1 Grad) zwischen der Grundlinie der Zeichen und der x-Achse. Der Winkel ist gegen den Uhrzeigersinn von der x-Achse für Koordinatensysteme gemessen in der y-Richtung ist nach unten und im Uhrzeigersinn von der x-Achse für Koordinatensysteme in denen y-Richtung ist.

nWeight

Gibt die Schriftbreite (in eingefärbten Pixel pro 1000). Obwohl nWeight kann eine beliebige Ganzzahl zwischen 0 und 1000, sind die gemeinsamen Konstanten und Werte wie folgt:

Konstante Wert
FW_DONTCARE 0
FW_THIN 100
FW_EXTRALIGHT 200
FW_ULTRALIGHT 200
FW_LIGHT 300
FW_NORMAL 400
FW_REGULAR 400
FW_MEDIUM 500
FW_SEMIBOLD 600
FW_DEMIBOLD 600
FW_BOLD 700
FW_EXTRABOLD 800
FW_ULTRABOLD 800
FW_BLACK 900
FW_HEAVY 900

Diese Werte sind ungefähre Angaben; die tatsächliche Darstellung hängt von der Schrift. Einige Schriften haben nur FW_NORMAL, FW_REGULARund FW_BOLD Gewichte. Wenn FW_DONTCARE angegeben ist, wird eine Standardgewichtung verwendet.

bItalic

Gibt an, ob die Schriftart kursiv ist.

bUnderline

Gibt an, ob die Schriftart unterstrichen ist.

cStrikeOut

Gibt an, ob Zeichen in der Schriftart heraus getroffen werden. Gibt eine Schriftart durchgestrichen, wenn auf einen Wert ungleich NULL.

nCharSet

Zeichensatz der Schriftart angibt. Die folgenden Konstanten und Werte sind vordefiniert:

Konstante Wert
ANSI_CHARSET 0
DEFAULT_CHARSET 1
SYMBOL_CHARSET 2
SHIFTJIS_CHARSET 128
OEM_CHARSET 255

Der OEM-Zeichensatz ist systemabhängig.

Schriften mit anderen Zeichensätzen können im System vorhanden. Eine Anwendung, die mit einem unbekannten Zeichensatz eine Schriftart verwendet dürfen nicht versuchen, zu übersetzen oder Interpretieren der Zeichenfolgen, die mit dieser Schriftart dargestellt werden. Stattdessen sollten die Zeichenfolgen direkt an der Ausgabe Gerätetreiber übergeben werden.

Die Schriftartzuordnung verwendet den Wert DEFAULT_CHARSET nicht. Eine Anwendung kann diesen Wert verwenden, um den Namen und die Größe einer Schriftart die logische Schriftart beschreiben zu ermöglichen. Wenn eine Schriftart mit dem angegebenen Namen nicht vorhanden ist, kann aus jedem Zeichensatz eine Schriftart für die angegebene Schriftart ersetzt werden. Um unerwartete Ergebnisse zu vermeiden, sollten Anwendungen den Wert DEFAULT_CHARSET sparsam verwenden.

nOutPrecision

Gibt die gewünschte Ausgabe-Genauigkeit. Mit der Ausgabegenauigkeit wird wie genau die Ausgabe der angeforderten Schriftart Höhe, Breite, Zeichenausrichtung, Vorschub und Tonhöhe übereinstimmen muss. Es kann eine der folgenden Werte sein.:

OUT_CHARACTER_PRECIS OUT_STRING_PRECIS
OUT_DEFAULT_PRECIS OUT_STROKE_PRECIS
OUT_DEVICE_PRECIS OUT_TT_PRECIS
OUT_RASTER_PRECIS

Anwendungen können die Werte OUT_DEVICE_PRECIS, OUT_RASTER_PRECISund OUT_TT_PRECIS steuern, wie die Schriftartzuordnung eine Schriftart wählt, wenn das System mehrere Schriftarten mit einem angegebenen Namen enthält. Beispielsweise wenn ein System namens Symbol in Raster und TrueType Schriftart enthält, erzwingt OUT_TT_PRECIS angeben die Schriftartzuordnung, die TrueType-Version zu wählen. (Angabe OUT_TT_PRECIS erzwingt, dass die Schriftartzuordnung, eine TrueType-Schriftart immer der Namen der angegebenen Schriftart ein Gerät entspricht oder Raster-Schriftart, auch wenn es keine TrueType-Schriftart mit dem gleichen Namen zu wählen.)

nClipPrecision

Gibt die Genauigkeit für das Ausschneiden der gewünschten. Genauigkeit für das Ausschneiden wird definiert, wie Zeichen, die teilweise außerhalb des Ausschneidebereichs liegen. Es kann eine der folgenden Werte sein.:

CLIP_CHARACTER_PRECIS CLIP_MASK
CLIP_DEFAULT_PRECIS CLIP_STROKE_PRECIS
CLIP_ENCAPSULATE CLIP_TT_ALWAYS
CLIP_LH_ANGLES

Um eine eingebettete nur-Lese-Schriftart zu verwenden, muss eine Anwendung CLIP_ENCAPSULATE angeben.

Um konsistente Drehung des Geräts, TrueType und Vektorschriftarten zu erreichen, können eine Anwendung den OR-Operator, um den CLIP_LH_ANGLES -Wert mit einer der anderen nClipPrecision Werte zu kombinieren. Wenn das CLIP_LH_ANGLES -Bit festgelegt ist, hängt die Drehung für alle Schriften, ob die Orientierung des Koordinatensystems Linkshänder ist oder Rechtshänder. (Für weitere Informationen über die Ausrichtung von Koordinatensystemen, siehe die Beschreibung des Parameters nOrientation .) Wenn CLIP_LH_ANGLES nicht festgelegt ist, Geräteschriftarten immer gegen den Uhrzeigersinn drehen, aber die Rotation der anderen Schriften ist abhängig von der Orientierung des Koordinatensystems.

nQuality

Gibt die Schriftart-Ausgabe-Qualität, die definiert, wie sorgfältig das GDI versuchen die logische Schriftart an die Attribute der eigentlichen physikalischen Schriftart anpassen muss. Es kann eine der folgenden Werte sein:

nPitchAndFamily

Gibt die Tonhöhe und Familie der Schriftart. Die beiden niederwertigen Bits die Tonhöhe der Schriftart anzugeben und können einen der folgenden Werte sein:

DEFAULT_PITCH VARIABLE_PITCH FIXED_PITCH

Anwendungen können den nPitchAndFamily -Parameter auf eine TrueType-Schriftart wählen TMPF_TRUETYPE hinzufügen. Der vier höherwertigen Bits des Parameters können angeben die Schriftfamilie und einer der folgenden Werte:

lpszFacename

Ein CString oder ein Zeiger auf eine auf Null endende Zeichenfolge, die den Schriftartnamen der Schriftart angibt. Die Länge dieser Zeichenfolge darf 30 Zeichen nicht überschreiten. Die Windows EnumFontFamilies -Funktion kann verwendet werden, alle derzeit verfügbare Schriftarten aufgelistet. Wenn LpszFacename NULList, verwendet das GDI eine geräteunabhängige Schrift.

Bemerkungen

Eine CFont -Objekt mit den angegebenen Eigenschaften initialisiert. Die Schriftart kann anschließend als die Schriftart für alle Gerätekontext ausgewählt werden.

Die Funktion CreateFont erstellt eine neue Windows-GDI-Schriftart nicht. Es wählt nur die ähnlichste Entsprechung von Schriften in das GDI-Pool physischer Schriftarten zur Verfügung.

Anwendungen können die Standardeinstellungen für die meisten dieser Parameter verwenden, wenn Sie eine logische Schriftart erstellen. Die Parameter, die immer bestimmte Werte gegeben werden sollten sind nHeight und LpszFacename. Wenn nHeight und LpszFacename nicht durch die Anwendung festgelegt werden, ist die logische Schriftart, die erstellt wird, geräteabhängig.

Wenn Sie fertig sind mit dem CFont -Objekt erstellt, indem die Funktion CreateFont , zuerst wählen Sie die Schriftart von den Gerätekontext, dann löschen Sie das Objekt CFont.

CFont Übersicht |nbsp; Member der Klasse | Hierarchiediagramm

Siehe auch&Nbsp;CFont::CreateFontIndirect, CFont::CreatePointFont, :: CreateFont, :: EnumFontFamilies, :: EnumFonts

Index