Partager via


CreateFontIndirectA, fonction (wingdi.h)

La fonction CreateFontIndirect crée une police logique qui a les caractéristiques spécifiées. La police peut ensuite être sélectionnée comme police actuelle pour n’importe quel contexte d’appareil.

Syntaxe

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

Paramètres

[in] lplf

Pointeur vers une structure LOGFONT qui définit les caractéristiques de la police logique.

Valeur retournée

Si la fonction réussit, la valeur de retour est un handle pour une police logique.

Si la fonction échoue, la valeur de retour est NULL.

Remarques

La fonction CreateFontIndirect crée une police logique avec les caractéristiques spécifiées dans la structure LOGFONT . Lorsque cette police est sélectionnée à l’aide de la fonction SelectObject , le mappeur de polices de GDI tente de faire correspondre la police logique à une police physique existante. S’il ne parvient pas à trouver une correspondance exacte, il fournit une alternative dont les caractéristiques correspondent au plus grand nombre possible de caractéristiques demandées.

Pour obtenir la police appropriée sur différentes versions linguistiques du système d’exploitation, appelez EnumFontFamiliesEx avec les caractéristiques de police souhaitées dans la structure LOGFONT , récupérez le nom de police approprié et créez la police à l’aide de CreateFont ou CreateFontIndirect.

Lorsque vous n’avez plus besoin de la police, appelez la fonction DeleteObject pour la supprimer.

Les polices de nombreuses langues d’Asie de l’Est ont deux noms de police : un nom anglais et un nom localisé. CreateFont et CreateFontIndirect prennent le nom de police localisé uniquement sur un paramètre régional système qui correspond à la langue, tandis qu’ils prennent le nom de police anglais sur tous les autres paramètres régionaux système. La meilleure méthode consiste à essayer un nom et, en cas d’échec, à essayer l’autre. Notez que EnumFonts, EnumFontFamilies et EnumFontFamiliesEx renvoient le nom de police anglais si les paramètres régionaux système ne correspondent pas à la langue de la police.

Le mappeur de polices pour CreateFont, CreateFontIndirect et CreateFontIndirectEx reconnaît à la fois l’anglais et le nom de police localisé, quels que soient les paramètres régionaux.

Exemples

Pour obtenir un exemple, consultez Création d’une police logique.

Notes

L’en-tête wingdi.h définit CreateFontIndirect en tant qu’alias qui sélectionne automatiquement la version ANSI ou Unicode de cette fonction en fonction de la définition de la constante de préprocesseur UNICODE. La combinaison de l’utilisation de l’alias neutre en encodage avec du code qui n’est pas neutre en encodage peut entraîner des incompatibilités qui entraînent des erreurs de compilation ou d’exécution. Pour plus d’informations, consultez Conventions pour les prototypes de fonction.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête wingdi.h (inclure Windows.h)
Bibliothèque Gdi32.lib
DLL Gdi32.dll

Voir aussi

CreateFont

CreateFontIndirectEx

DeleteObject

EnumFontFamilies

EnumFontFamiliesEx

EnumFonts

Fonctions de police et de texte

Vue d’ensemble des polices et du texte

LOGFONT

SelectObject