Share via


CreateFontIndirectW-Funktion (wingdi.h)

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

Syntax

HFONT CreateFontIndirectW(
  [in] const LOGFONTW *lplf
);

Parameter

[in] lplf

Ein Zeiger auf eine LOGFONT-Struktur , die die Merkmale 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 der GDI-Schriftartzuordnunger, die logische Schriftart mit einer vorhandenen physischen Schriftart abzugleichen. Wenn es keine genaue Übereinstimmung findet, bietet es eine Alternative, deren Merkmale so viele der angeforderten Merkmale wie möglich übereinstimmen.

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 weisen zwei Schriftnamen auf: 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 namen der englischen Schriftart 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 englischen Schriftnamen zurückgeben, wenn das Gebietsschema des Systems nicht mit der Sprache der Schriftart übereinstimmt.

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

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 nicht codierungsneutralem Code 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 (einschließlich Windows.h)
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