CFont::CreateFont
Initialisiert eine CFont-Objekt mit den angegebenen Eigenschaften.
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
);
Parameter
nHeight
Gibt die gewünschte Höhe (in logischen Einheiten) Schriftartressourcen an. Siehe den lfHeight-Member der LOGFONT-Struktur in Windows SDK für eine Beschreibung. Der absolute Wert von nHeight darf 16.384 Geräteeinheiten nicht überschreiten, nachdem er konvertiert wurde. Für alle Höhenvergleiche sucht der Schriftartenmapper nach der größten Schriftart, die nicht die angeforderte Größe oder die kleinste Schriftart überschreitet, wenn alle Schriftarten die angeforderte Größe überschreiten.nWidth
Gibt die durchschnittlichen Breite (in logischen Einheiten) der Zeichen in der Schriftart an. Wenn nWidth 0 ist, wird das Seitenverhältnis des Geräts an das Digital-Analog-Wandlung Seitenverhältnis der verfügbaren Schriftarten angepasst, um die größte Übereinstimmung zu finden, die von den absoluten Wert der Differenz bestimmt wird.nEscapement
Gibt den Winkel (im 0,1 -Grad-Einheiten) zwischen dem Vorschubvektor und der x-Achse der Anzeigeoberfläche an. Der Vorschubvektor ist die Zeile für die Ursprünge vom ersten und die letzten Zeichen in einer Zeile. Der Winkel wird gegen den Uhrzeigersinn von der x-Achse gemessen. Siehe den lfEscapement-Member in der LOGFONT-Struktur in Windows SDK weitere Informationen.nOrientation
Gibt den Winkel (im 0,1 -Grad-Einheiten) zwischen der Baseline eines Zeichens und der X-Achse an. Der Winkel wird gegen den Uhrzeigersinn aus der x-Achse für Koordinatensysteme gemessen, in denen die y-Richtung unten und nach rechts von der x-Achse für Koordinatensysteme ist, für die die y-Richtung oben ist.nWeight
Gibt die Schriftbreite an (in Freihandeingaben typisierten Pixel pro 1000). Siehe den lfWeight-Member in der LOGFONT-Struktur in Windows SDK weitere Informationen. Die beschriebenen Werte sind ungefähr; die eigentliche Darstellung hängt von der Schriftart ab. Einige Schriftarten verfügen nur FW_NORMAL, FW_REGULAR und FW_BOLD Gewichtungen. Wenn FW_DONTCARE angegeben wird, wird eine Standardgewichtung verwendet.bItalic
Gibt an, ob die Schriftart kursiv formatiert ist.bUnderline
Gibt an, ob die Schriftart unterstrichen ist.cStrikeOut
Gibt an, ob Zeichen in der Schriftart out gedrückt werden. Gibt eine durchgestrichene Schriftart wenn Satz auf einen Wert ungleich 0 an.nCharSet
Gibt das setSee das Zeichen der Schriftarten der lfCharSet-Member in der LOGFONT-Struktur in Windows SDK für eine Liste von Werten an.Der OEM-Zeichensatz ist anlagenspezifisch.
Schriftarten mit anderen Zeichensätzen sind möglicherweise im System. Eine Anwendung, die eine Schriftart mit einem unbekannten Zeichensatz verwendet, darf nicht versuchen, Zeichenfolgen zu verschieben oder zu interpretieren, die dieser Schriftart gerendert werden sollen. Stattdessen sollten die Zeichenfolgen direkt zum Ausgabegerätengerätetreiber übergeben werden.
Der Schriftartenmapper verwendet nicht den DEFAULT_CHARSET-Wert. Eine Anwendung kann diesen Wert verwenden, um den Namen und der Größe einer Schriftarten zu ermöglichen, die logische Schriftart vollständig zu beschreiben. Wenn eine Schriftart mit dem angegebenen Namen vorhanden ist, kann eine Schriftart aus jedem Zeichensatz 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 Ausgabegenauigkeit an. Die Ausgabegenauigkeit definiert, wie genau die Ausgabe die Höhe der angeforderten Schriftarten, die Breite, die Zeichenausrichtung, den Vorschub und Tonhöhe übereinstimmen muss. Siehe den lfOutPrecision-Member in der LOGFONT-Struktur in Windows SDK für eine Liste von Werten und mehr Informationen.nClipPrecision
Gibt die gewünschte abschneidende Genauigkeit an. Die Genauigkeit für das Ausschneiden legt fest, wie Zeichen, die teilweise außerhalb des Ausschneidebereichs liegen, ausgeschnitten werden. Siehe den lfClipPrecision-Member in der LOGFONT-Struktur in Windows SDK für eine Liste von Werten.Um eine eingebettete schreibgeschützte Schriftart verwendet, muss eine Anwendung CLIP_ENCAPSULATE angeben.
Um konsistente Drehung des Geräts zu erreichen, können TrueType und Vektorschriftarts, eine Anwendung den OR-Operator verwenden 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 Schriftarten davon ab, ob die Ausrichtung des Koordinatensystems linkshändig oder rechtshändig ist. (Weitere Informationen über die Ausrichtung von Koordinatensystemen, finden Sie die Beschreibung des Parameters nOrientation .) Wenn CLIP_LH_ANGLES nicht festgelegt wird, Drehen Geräteschriftarten immer gegen den Uhrzeigersinn, aber die Drehung anderer Schriftarten ist von der Ausrichtung des Koordinatensystems abhängig.
nQuality
Gibt die Ausgabequalität der Schriftarten, die definiert, wie gut das GDI versuchen, muss die LogischSchriftart Attribute an die einer tatsächlichen physischen Schriftarten anzupassen. Siehe den lfQuality-Member in der LOGFONT-Struktur in Windows SDK für eine Liste von Werten.nPitchAndFamily
Gibt Dichte und Familie der Schriftart an. Siehe den lfPitchAndFamily-Member in der LOGFONT-Struktur in Windows SDK für eine Liste von Werten und mehr Informationen.lpszFacename
CString oder ein Zeiger auf eine auf NULL endende Zeichenfolge, die den Schriftartnamen der Schriftarten angibt. Die Länge dieser Zeichenfolge darf 30 Zeichen nicht überschreiten. Die Funktion Windows EnumFontFamilies kann verwendet werden, um alle zur Zeit verfügbaren Schriftarten aufzulisten. Wenn lpszFacenameNULL ist, verwendet das GDI eine geräteunabhängige Schriftart.
Rückgabewert
Ungleich 0 (null), wenn erfolgreich; 0 andernfalls.
Hinweise
Die Schriftart kann als die Schriftart für jeden Gerätekontext nach ausgewählt werden.
Die CreateFont-Funktion erstellt keine neue Windows GDI-Schriftart. Sie wird lediglich die größte Übereinstimmung von physischen Schriftarten, die dem GDI verfügbar sind.
Anwendungen können die Standardeinstellungen für die meisten Parameter verwenden, wenn sie eine logische Schriftart erstellen. Die Parameter, die bestimmte Werte immer angegeben werden sollten, sind nHeight und lpszFacename. Wenn nHeight und lpszFacename nicht von der Anwendung festgelegt werden, ist die logische Schriftart, die erstellt wird, vom.
Wenn Sie mit dem CFont-Objekt beenden, die durch die CreateFont-Funktion erstellt wird, verwenden Sie CDC::SelectObject, um eine andere Schriftart in den Gerätekontext auszuwählen, und deaktivieren Sie das CFont-Objekt, das nicht mehr benötigt wird.
Beispiel
// The code fragment shows how to create a font object,
// select the font object into a DC (device context) for text
// drawing, and finally delete the font object.
// Initializes a CFont object with the specified characteristics.
CFont font;
VERIFY(font.CreateFont(
12, // nHeight
0, // nWidth
0, // nEscapement
0, // nOrientation
FW_NORMAL, // nWeight
FALSE, // bItalic
FALSE, // bUnderline
0, // cStrikeOut
ANSI_CHARSET, // nCharSet
OUT_DEFAULT_PRECIS, // nOutPrecision
CLIP_DEFAULT_PRECIS, // nClipPrecision
DEFAULT_QUALITY, // nQuality
DEFAULT_PITCH | FF_SWISS, // nPitchAndFamily
_T("Arial"))); // lpszFacename
// Do something with the font just created...
CClientDC dc(this);
CFont* def_font = dc.SelectObject(&font);
dc.TextOut(5, 5, _T("Hello"), 5);
dc.SelectObject(def_font);
// Done with the font. Delete the font object.
font.DeleteObject();
Anforderungen
Header: afxwin.h