STRUCTURE CHOOSEFONTA (commdlg.h)

Contient des informations que la fonction ChooseFont utilise pour initialiser la boîte de dialogue Police . Une fois que l’utilisateur ferme la boîte de dialogue, le système retourne des informations sur la sélection de l’utilisateur dans cette structure.

Syntaxe

typedef struct tagCHOOSEFONTA {
  DWORD        lStructSize;
  HWND         hwndOwner;
  HDC          hDC;
  LPLOGFONTA   lpLogFont;
  INT          iPointSize;
  DWORD        Flags;
  COLORREF     rgbColors;
  LPARAM       lCustData;
  LPCFHOOKPROC lpfnHook;
  LPCSTR       lpTemplateName;
  HINSTANCE    hInstance;
  LPSTR        lpszStyle;
  WORD         nFontType;
  WORD         ___MISSING_ALIGNMENT__;
  INT          nSizeMin;
  INT          nSizeMax;
} CHOOSEFONTA;

Membres

lStructSize

Type : DWORD

Longueur de la structure, en octets.

hwndOwner

Type : HWND

Handle vers la fenêtre qui possède la boîte de dialogue. Ce membre peut être n’importe quel handle de fenêtre valide, ou il peut être NULL si la boîte de dialogue n’a aucun propriétaire.

hDC

Type : HDC

Ce membre est ignoré par la fonction ChooseFont .

Windows Vista et Windows XP/2000 : Handle vers le contexte d’appareil ou le contexte d’information de l’imprimante dont les polices sont répertoriées dans la boîte de dialogue. Ce membre est utilisé uniquement si le membre Indicateurs spécifie l’indicateur CF_PRINTERFONTS ou CF_BOTH ; sinon, ce membre est ignoré.

lpLogFont

Type : LPLOGFONT

Pointeur vers une structure LOGFONT . Si vous définissez l’indicateur CF_INITTOLOGFONTSTRUCT dans le membre Indicateurs et initialisez les autres membres, la fonction ChooseFont initialise la boîte de dialogue avec une police qui correspond aux membres LOGFONT . Si l’utilisateur clique sur le bouton OK , ChooseFont définit les membres de la structure LOGFONT en fonction des sélections de l’utilisateur.

iPointSize

Type : INT

Taille de la police sélectionnée, en unités de 1/10 d’un point. La fonction ChooseFont définit cette valeur une fois que l’utilisateur ferme la boîte de dialogue.

Flags

Type : DWORD

Ensemble d’indicateurs de bits que vous pouvez utiliser pour initialiser la boîte de dialogue Police . Lorsque la boîte de dialogue retourne, elle définit ces indicateurs pour indiquer l’entrée de l’utilisateur. Ce membre peut être une ou plusieurs des valeurs suivantes.

Valeur Signification
CF_APPLY
0x00000200L
Provoque l’affichage du bouton Appliquer . Vous devez fournir une procédure de crochet pour traiter WM_COMMAND messages pour le bouton Appliquer . La procédure de crochet peut envoyer le message WM_CHOOSEFONT_GETLOGFONT à la boîte de dialogue pour récupérer l’adresse de la structure qui contient les sélections actuelles de la police.
CF_ANSIONLY
0x00000400L
Cet indicateur est obsolète. Pour limiter les sélections de polices à tous les scripts, à l’exception des jeux de caractères OEM ou Symboles, utilisez CF_SCRIPTSONLY. Pour obtenir le comportement de CF_ANSIONLY d’origine, utilisez CF_SELECTSCRIPT et spécifiez ANSI_CHARSET dans le membre lfCharSet de la structure LOGFONT pointée par lpLogFont.
CF_BOTH
0x00000003
Cet indicateur est ignoré pour l’énumération de police.

Windows Vista et Windows XP/2000 : Entraîne la liste des polices d’imprimante et d’écran disponibles. Le membre hDC est un handle du contexte d’appareil ou du contexte d’informations associé à l’imprimante. Cet indicateur est une combinaison des indicateurs CF_SCREENFONTS et CF_PRINTERFONTS .

CF_EFFECTS
0x00000100L
Provoque l’affichage des contrôles qui permettent à l’utilisateur de spécifier des options de couleur de frappe, de soulignement et de texte. Si cet indicateur est défini, vous pouvez utiliser le membre rgbColors pour spécifier la couleur de texte initiale. Vous pouvez utiliser les membres lfStrikeOut et lfUnderline de la structure pointées par lpLogFont pour spécifier les paramètres initiaux des cases de frappe et de soulignement. ChooseFont peut utiliser ces membres pour renvoyer les sélections de l’utilisateur.
CF_ENABLEHOOK
0x00000008L
Active la procédure de hook spécifiée dans le membre lpfnHook de cette structure.
CF_ENABLETEMPLATE
0x00000010L
Indique que les membres hInstance et lpTemplateName spécifient un modèle de boîte de dialogue à utiliser à la place du modèle par défaut.
CF_ENABLETEMPLATEHANDLE
0x00000020L
Indique que le membre hInstance identifie un bloc de données qui contient un modèle de boîte de dialogue préchargé. Le système ignore le membre lpTemplateName si cet indicateur est spécifié.
CF_FIXEDPITCHONLY
0x00004000L

ChooseFont doit énumérer et autoriser la sélection de polices fixes uniquement.

CF_FORCEFONTEXIST
0x00010000L

ChooseFont doit indiquer une condition d’erreur si l’utilisateur tente de sélectionner une police ou un style qui n’est pas répertorié dans la boîte de dialogue.

CF_INACTIVEFONTS
0x02000000L

ChooseFont doit également afficher les polices qui sont définies sur Masquer dans les polices Panneau de configuration.

Windows Vista et Windows XP/2000 : Cet indicateur n’est pas pris en charge tant que Windows 7 n’est pas pris en charge.

CF_INITTOLOGFONTSTRUCT
0x00000040L

ChooseFont doit utiliser la structure pointée par le membre lpLogFont pour initialiser les contrôles de boîte de dialogue.

CF_LIMITSIZE
0x00002000L

ChooseFont doit sélectionner uniquement les tailles de police dans la plage spécifiée par les membres nSizeMin et nSizeMax .

CF_NOOEMFONTS
0x00000800L
Identique à l’indicateur CF_NOVECTORFONTS .
CF_NOFACESEL
0x00080000L
Lorsque vous utilisez une structure LOGFONT pour initialiser les contrôles de boîte de dialogue, utilisez cet indicateur pour empêcher la boîte de dialogue d’afficher une sélection initiale pour la zone de liste déroulante du nom de police. Cela est utile lorsqu’il n’existe aucun nom de police unique qui s’applique à la sélection de texte.
CF_NOSCRIPTSEL
0x00800000L
Désactive la zone de liste déroulante Script . Lorsque cet indicateur est défini, le membre lfCharSet de la structure LOGFONT est défini sur DEFAULT_CHARSET lorsque ChooseFont retourne. Cet indicateur est utilisé uniquement pour initialiser la boîte de dialogue.
CF_NOSIMULATIONS
0x00001000L

ChooseFont ne doit pas afficher ou autoriser la sélection de simulations de police.

CF_NOSIZESEL
0x00200000L
Lorsque vous utilisez une structure pour initialiser les contrôles de boîte de dialogue, utilisez cet indicateur pour empêcher la boîte de dialogue d’afficher une sélection initiale pour la zone de liste déroulante Taille de police . Cela est utile lorsqu’il n’existe aucune taille de police unique qui s’applique à la sélection de texte.
CF_NOSTYLESEL
0x00100000L
Lorsque vous utilisez une structure LOGFONT pour initialiser les contrôles de boîte de dialogue, utilisez cet indicateur pour empêcher la boîte de dialogue d’afficher une sélection initiale pour la zone de liste déroulante Style de police . Cela est utile lorsqu’il n’existe aucun style de police unique qui s’applique à la sélection de texte.
CF_NOVECTORFONTS
0x00000800L

ChooseFont ne doit pas autoriser les sélections de polices vectorielles.

CF_NOVERTFONTS
0x01000000L
Provoque la boîte de dialogue Police de répertorier uniquement les polices orientées horizontalement.
CF_PRINTERFONTS
0x00000002
Cet indicateur est ignoré pour l’énumération de police.

Windows Vista et Windows XP/2000 : Provoque la liste des polices prises en charge par l’imprimante associée au contexte d’appareil ou au contexte d’information identifié par le membre hDC . Elle entraîne également l’affichage de l’étiquette de description du type de police en bas de la boîte de dialogue Police .

CF_SCALABLEONLY
0x00020000L
Spécifie que ChooseFont doit autoriser uniquement la sélection de polices évolutives. Les polices évolutives incluent des polices vectorielles, des polices d’imprimante évolutives, des polices TrueType et des polices mises à l’échelle par d’autres technologies.
CF_SCREENFONTS
0x00000001
Cet indicateur est ignoré pour l’énumération de police.

Windows Vista et Windows XP/2000 : La boîte de dialogue répertorie uniquement les polices d’écran prises en charge par le système.

CF_SCRIPTSONLY
0x00000400L

ChooseFont doit autoriser la sélection de polices pour tous les jeux de caractères non OEM et Symboles, ainsi que le jeu de caractères ANSI. Cela remplace la valeur CF_ANSIONLY .

CF_SELECTSCRIPT
0x00400000L
Lorsqu’elles sont spécifiées sur l’entrée, seules les polices avec le jeu de caractères identifié dans le membre lfCharSet de la structure LOGFONT sont affichées. L’utilisateur n’est pas autorisé à modifier le jeu de caractères spécifié dans la zone de liste déroulante Scripts .
CF_SHOWHELP
0x00000004L
Provoque l’affichage du bouton Aide . Le membre hwndOwner doit spécifier la fenêtre pour recevoir les messages inscrits HELPMSGSTRING que la boîte de dialogue envoie lorsque l’utilisateur clique sur le bouton Aide .
CF_TTONLY
0x00040000L

ChooseFont doit uniquement énumérer et autoriser la sélection de polices TrueType.

CF_USESTYLE
0x00000080L
Le membre lpszStyle est un pointeur vers une mémoire tampon qui contient des données de style que ChooseFont doit utiliser pour initialiser la zone de liste déroulante Style de police . Lorsque l’utilisateur ferme la boîte de dialogue, ChooseFont copie les données de style pour la sélection de l’utilisateur à cette mémoire tampon.
Note Pour globaliser votre application, vous devez spécifier le style à l’aide des membres lfWeight et lfItalic de la structure LOGFONT pointée par lpLogFont. Le nom du style peut changer en fonction du langage de l’interface utilisateur système.
 
CF_WYSIWYG
0x00008000L
Obsolète. ChooseFont ignore cet indicateur.

Windows Vista et Windows XP/2000 : ChooseFont doit autoriser uniquement la sélection de polices disponibles sur l’imprimante et l’affichage. Si cet indicateur est spécifié, les indicateurs CF_SCREENSHOTS et CF_PRINTERFONTS ou CF_BOTH doivent également être spécifiés.

rgbColors

Type : COLORREF

Si l’indicateur CF_EFFECTS est défini, rgbColors spécifie la couleur de texte initiale. Lorsque ChooseFont retourne correctement, ce membre contient la valeur RVB de la couleur de texte sélectionnée par l’utilisateur. Pour créer une valeur de couleur COLORREF , utilisez la macro RVB .

lCustData

Type : LPARAM

Données définies par l’application que le système transmet à la procédure de crochet identifiée par le membre lpfnHook . Lorsque le système envoie le message WM_INITDIALOG à la procédure de crochet, le paramètre lParam du message est un pointeur vers la structure CHOOSEFONT spécifiée lors de la création de la boîte de dialogue. La procédure de crochet peut utiliser ce pointeur pour obtenir la valeur lCustData .

lpfnHook

Type : LPCFHOOKPROC

Pointeur vers une procédure de hook CFHookProc qui peut traiter les messages destinés à la boîte de dialogue. Ce membre est ignoré, sauf si l’indicateur CF_ENABLEHOOK est défini dans le membre Flags .

lpTemplateName

Type : LPCTSTR

Nom de la ressource de modèle de boîte de dialogue dans le module identifié par le membre hInstance . Ce modèle est remplacé par le modèle de boîte de dialogue standard. Pour les ressources de boîte de dialogue numérotées, lpTemplateName peut être une valeur retournée par la macro MAKEINTRESOURCE . Ce membre est ignoré, sauf si l’indicateur CF_ENABLETEMPLATE est défini dans le membre Flags .

hInstance

Type : HINSTANCE

Si l’indicateur CF_ENABLETEMPLATEHANDLE est défini dans le membre Flags , hInstance est un handle pour un objet mémoire contenant un modèle de boîte de dialogue. Si l’indicateur CF_ENABLETEMPLATE est défini, hInstance est un handle sur un module qui contient un modèle de boîte de dialogue nommé par le membre lpTemplateName . Si aucun CF_ENABLETEMPLATEHANDLE ni CF_ENABLETEMPLATE n’est défini, ce membre est ignoré.

lpszStyle

Type : LPTSTR

Données de style. Si l’indicateur CF_USESTYLE est spécifié, ChooseFont utilise les données de cette mémoire tampon pour initialiser la zone de liste déroulante Style de police . Lorsque l’utilisateur ferme la boîte de dialogue, ChooseFont copie la chaîne dans la zone de liste déroulante Style de police dans cette mémoire tampon.

nFontType

Type : WORD

Type de police sélectionnée lorsque ChooseFont retourne. Ce membre peut être une ou plusieurs des valeurs suivantes.

Valeur Signification
BOLD_FONTTYPE
0x0100
Le poids de police est gras. Ces informations sont dupliquées dans le membre lfWeight de la structure LOGFONT et sont équivalentes à FW_BOLD.
ITALIC_FONTTYPE
0x0200
L’attribut de police italique est défini. Ces informations sont dupliquées dans le membre lfItalic de la structure LOGFONT .
PRINTER_FONTTYPE
0x4000
La police est une police d’imprimante.
REGULAR_FONTTYPE
0x0400
Le poids de police est normal. Ces informations sont dupliquées dans le membre lfWeight de la structure LOGFONT et sont équivalentes à FW_REGULAR.
SCREEN_FONTTYPE
0x2000
La police est une police d’écran.
SIMULATED_FONTTYPE
0x8000
La police est simulée par l’interface d’appareil graphique (GDI).

___MISSING_ALIGNMENT__

nSizeMin

Type : INT

Taille minimale exprimée en points pouvant être sélectionnée par un utilisateur. ChooseFont reconnaît ce membre uniquement si l’indicateur CF_LIMITSIZE est spécifié.

nSizeMax

Type : INT

Taille maximale exprimée en points pouvant être sélectionnée par un utilisateur. ChooseFont reconnaît ce membre uniquement si l’indicateur CF_LIMITSIZE est spécifié.

Notes

Notes

L’en-tête commdlg.h définit CHOOSEFONT 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. 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

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
En-tête commdlg.h

Voir aussi

ChooseFont

Bibliothèque de boîtes de dialogue courante

Conceptuel

MAKEINTRESOURCE

Référence