Freigeben über


CreateFontIndirectA-Funktion (wingdi.h)

Die CreateFontIndirect-Funktion erstellt eine logische Schriftart mit den angegebenen Merkmalen. Anschließend kann die Schriftart als aktuelle Schriftart für jeden Gerätekontext ausgewählt werden.

Syntax

HFONT CreateFontIndirectA(
  [in] const LOGFONTA *lplf
);

Parameter

[in] lplf

Ein Zeiger auf eine LOGFONT-Struktur , die die Eigenschaften der logischen Schriftart definiert.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ein Handle für eine logische Schriftart.

Wenn bei der Funktion ein Fehler auftritt, ist der Rückgabewert NULL.

Hinweise

Die CreateFontIndirect-Funktion erstellt eine logische Schriftart mit den in der LOGFONT-Struktur angegebenen Merkmalen. Wenn diese Schriftart mithilfe der SelectObject-Funktion ausgewählt wird, versucht die Schriftartenzuordnung von GDI, die logische Schriftart einer vorhandenen physischen Schriftart zuzuordnen. Wenn keine genaue Übereinstimmung gefunden werden kann, wird eine Alternative bereitgestellt, deren Merkmale so viele der angeforderten Merkmale wie möglich entsprechen.

Um die entsprechende Schriftart für verschiedene Sprachversionen des Betriebssystems zu erhalten, rufen Sie EnumFontFamiliesEx mit den gewünschten Schriftartmerkmalen in der LOGFONT-Struktur auf, rufen Sie den entsprechenden Schriftartnamen ab, und erstellen Sie die Schriftart mit CreateFont oder CreateFontIndirect.

Wenn Sie die Schriftart nicht mehr benötigen, rufen Sie die DeleteObject-Funktion auf, um sie zu löschen.

Die Schriftarten für viele ostasiatische Sprachen haben zwei Schriftartnamen: einen englischen namen und einen lokalisierten Namen. CreateFont und CreateFontIndirect verwenden den lokalisierten Schriftartnamen nur für ein Systemgebietsschema, das der Sprache entspricht, während sie den englischen Schriftartnamen für alle anderen Systemgebietsschemas verwenden. Die beste Methode besteht darin, einen Namen auszuprobieren und bei Einem Fehler den anderen zu versuchen. Beachten Sie, dass EnumFonts, EnumFontFamilies und EnumFontFamiliesEx den namen der englischen Schriftart zurückgeben, wenn das Systemgebietsschema nicht mit der Sprache der Schriftart übereinstimmt.

Die Schriftartenzuordnung für CreateFont, CreateFontIndirect und CreateFontIndirectEx erkennt sowohl den englischen als auch den lokalisierten Schriftartnamen, unabhängig vom Gebietsschema.

Beispiele

Ein Beispiel finden Sie unter Erstellen einer logischen Schriftart.

Hinweis

Der wingdi.h-Header definiert CreateFontIndirect als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht Codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile wingdi.h (windows.h einschließen)
Bibliothek Gdi32.lib
DLL Gdi32.dll

Weitere Informationen

CreateFont

CreateFontIndirectEx

Deleteobject

EnumFontFamilies

EnumFontFamiliesEx

EnumFonts

Schriftart- und Textfunktionen

Übersicht über Schriftarten und Text

LOGFONT

Auswählenobjekt