Partager via


CreateFontIndirectW, 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 active pour n’importe quel contexte d’appareil.

Syntaxe

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

Paramètres

[in] lplf

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

Valeur de retour

Si la fonction réussit, la valeur de retour est un handle vers 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 police de GDI tente de faire correspondre la police logique à une police physique existante. S’il ne trouve pas une correspondance exacte, il fournit une alternative dont les caractéristiques correspondent autant que possible aux 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.

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

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

Le mappeur de polices pour CreateFont, CreateFontIndirectet CreateFontIndirectEx reconnaît à la fois le nom de police anglais et localisé, quel que soit les paramètres régionaux.

Exemples

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

Note

L’en-tête wingdi.h définit CreateFontIndirect comme 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. Le mélange 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.

Exigences

Exigence Valeur
client minimum pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
serveur minimum pris en charge Windows 2000 Server [applications de bureau uniquement]
plateforme cible Windows
d’en-tête wingdi.h (include 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