CFont::CreateFontIndirect
Initialisiert CFont ein Objekt mit den Eigenschaften, die in einer Struktur LOGFONT angegeben werden.
BOOL CreateFontIndirect(
const LOGFONT* lpLogFont
);
Parameter
- lpLogFont
Zeigt auf LOGFONT-Struktur, die die Eigenschaften der logischen Schriftarten definiert.
Rückgabewert
Ungleich 0 (null), wenn erfolgreich; 0 andernfalls.
Hinweise
Die Schriftart kann als die aktuelle Schriftart für jedes Gerät nach ausgewählt werden.
Diese Schriftart können die Eigenschaften angeben LOGFONT in der Struktur. Wenn die Schriftart ausgewählt wird, indem die CDC::SelectObject-Memberfunktion verwendet, versucht der GDI-Schriftartenmapper, die logische Schriftart mit einer vorhandenen physischen Schriftart übereinstimmt. Wenn der Schriftartenmapper findet eine genaue Übereinstimmung Sie für die logische Schriftart, es bereitgestellt wird eine alternative Schriftart ab, deren Eigenschaften bis zu der angeforderten Eigenschaften möglich übereinstimmen.
Wenn Sie nicht mehr das CFont-Objekt erfordern, das durch die CreateFontIndirect-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 characteristics given
// in a LOGFONT structure.
CFont font;
LOGFONT lf;
memset(&lf, 0, sizeof(LOGFONT)); // zero out structure
lf.lfHeight = 12; // request a 12-pixel-height font
_tcsncpy_s(lf.lfFaceName, LF_FACESIZE,
_T("Arial"), 7); // request a face name "Arial"
VERIFY(font.CreateFontIndirect(&lf)); // create the font
// 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