DrawTextExA, fonction (winuser.h)
La fonction DrawTextEx dessine le texte mis en forme dans le rectangle spécifié.
Syntaxe
int DrawTextExA(
[in] HDC hdc,
[in, out] LPSTR lpchText,
[in] int cchText,
[in, out] LPRECT lprc,
[in] UINT format,
[in] LPDRAWTEXTPARAMS lpdtp
);
Paramètres
[in] hdc
Handle du contexte de l’appareil dans lequel dessiner.
[in, out] lpchText
Pointeur vers la chaîne qui contient le texte à dessiner. Si le paramètre cchText est -1, la chaîne doit être terminée par null.
Si dwDTFormat inclut DT_MODIFYSTRING, la fonction peut ajouter jusqu’à quatre caractères supplémentaires à cette chaîne. La mémoire tampon contenant la chaîne doit être suffisamment grande pour prendre en charge ces caractères supplémentaires.
[in] cchText
Longueur de la chaîne pointée vers lpchText. Si cchText a la valeur -1, le paramètre lpchText est supposé être un pointeur vers une chaîne terminée par null et DrawTextEx calcule automatiquement le nombre de caractères.
[in, out] lprc
Pointeur vers une structure RECT qui contient le rectangle, en coordonnées logiques, dans lequel le texte doit être mis en forme.
[in] format
Options de mise en forme. Ce paramètre peut prendre une ou plusieurs des valeurs suivantes.
Valeur | Signification |
---|---|
|
Justifie le texte en bas du rectangle. Cette valeur est utilisée uniquement avec la valeur DT_SINGLELINE. |
|
Détermine la largeur et la hauteur du rectangle. S’il existe plusieurs lignes de texte, DrawTextEx utilise la largeur du rectangle pointé vers le paramètre lprc et étend la base du rectangle pour lier la dernière ligne de texte. S’il n’existe qu’une seule ligne de texte, DrawTextEx modifie le côté droit du rectangle afin qu’il limite le dernier caractère de la ligne. Dans les deux cas, DrawTextEx retourne la hauteur du texte mis en forme, mais ne dessine pas le texte. |
|
Centre le texte horizontalement dans le rectangle. |
|
Dupliquer les caractéristiques d’affichage de texte d’un contrôle d’édition multiligne. Plus précisément, la largeur moyenne des caractères est calculée de la même manière que pour un contrôle d’édition, et la fonction n’affiche pas de dernière ligne partiellement visible. |
|
Pour le texte affiché, remplace la fin d’une chaîne par des points de suspension afin que le résultat s’intègre dans le rectangle spécifié. Tout mot (pas à la fin de la chaîne) qui dépasse les limites du rectangle est tronqué sans ellipses. La chaîne n’est pas modifiée, sauf si l’indicateur DT_MODIFYSTRING est spécifié.
Comparez avec DT_PATH_ELLIPSIS et DT_WORD_ELLIPSIS. |
|
Développe des caractères de tabulation. Le nombre par défaut de caractères par tabulation est huit. |
|
Inclut l'espacement externe de la police dans la hauteur de ligne. Normalement, le début externe n’est pas inclus dans la hauteur d’une ligne de texte. |
|
Ignore le caractère de préfixe ampersand (&) dans le texte. La lettre qui suit ne sera pas soulignée, mais d’autres caractères de préfixe mnémonique sont toujours traités.
Exemple : chaîne d’entrée : « A&bc&&d » normal : « Abc&d » DT_HIDEPREFIX : « Abc&d » Comparez avec DT_NOPREFIX et DT_PREFIXONLY. |
|
Utilise la police système pour calculer la métrique du texte. |
|
Aligne le texte vers la gauche. |
|
Modifie la chaîne spécifiée pour qu’elle corresponde au texte affiché. Cette valeur n’a aucun effet, sauf si DT_END_ELLIPSIS ou DT_PATH_ELLIPSIS est spécifié. |
|
Dessine sans découpage. DrawTextEx est un peu plus rapide lorsque DT_NOCLIP est utilisé. |
|
Empêche un saut de ligne au niveau d’un DBCS (chaîne de caractères double large), de sorte que la règle de saut de ligne est équivalente aux chaînes SBCS. Par exemple, cela peut être utilisé dans les fenêtres coréennes, pour plus de lisibilité des étiquettes d’icônes. Cette valeur n’a aucun effet, sauf si DT_WORDBREAK est spécifié. |
|
Désactive le traitement des caractères de préfixe. Normalement, DrawTextEx interprète le caractère de préfixe mnémonique (&) comme une directive pour souligner le caractère qui suit, et les caractères de préfixe mnémonique double-ampèresand (&&) comme une directive pour imprimer un seul ampersand. En spécifiant DT_NOPREFIX, ce traitement est désactivé. Comparer avec DT_HIDEPREFIX et DT_PREFIXONLY |
|
Pour le texte affiché, remplace les caractères au milieu de la chaîne par des points de suspension afin que le résultat s’intègre dans le rectangle spécifié. Si la chaîne contient des caractères de barre oblique inverse (\\), DT_PATH_ELLIPSIS conserve autant que possible le texte après la dernière barre oblique inverse. La chaîne n’est pas modifiée, sauf si l’indicateur DT_MODIFYSTRING est spécifié.
Comparez avec DT_END_ELLIPSIS et DT_WORD_ELLIPSIS. |
|
Dessine uniquement un soulignement à la position du caractère suivant le caractère de préfixe ampersand (&). Ne dessine aucun caractère dans la chaîne.
Exemple : chaîne d’entrée : « A&bc&&d » normal : « Abc&d » PRÉFIXEONLY : " _ » Comparez avec DT_NOPREFIX et DT_HIDEPREFIX. |
|
Aligne le texte vers la droite. |
|
Disposition dans l’ordre de lecture de droite à gauche pour le texte bidirectionnel lorsque la police sélectionnée dans le hdc est une police hébraïque ou arabe. L’ordre de lecture par défaut pour tout le texte est de gauche à droite. |
|
Affiche le texte sur une seule ligne uniquement. Les retours chariot et les flux de ligne ne cassent pas la ligne. |
|
Définit des taquets de tabulation. La structure DRAWTEXTPARAMS pointée vers le paramètre lpDTParams spécifie le nombre de largeurs de caractères moyennes par taquet de tabulation. |
|
Justifie le texte en haut du rectangle. |
|
Centre le texte verticalement. Cette valeur est utilisée uniquement avec la valeur DT_SINGLELINE. |
|
Casse les mots. Les lignes sont automatiquement rompues entre les mots si un mot s’étend au-delà du bord du rectangle spécifié par le paramètre lprc . Une séquence d’alimentation de ligne de retour chariot interrompt également la ligne. |
|
Tronque tout mot qui ne tient pas dans le rectangle et ajoute des points de suspension.
Comparez avec DT_END_ELLIPSIS et DT_PATH_ELLIPSIS. |
[in] lpdtp
Pointeur vers une structure DRAWTEXTPARAMS qui spécifie des options de mise en forme supplémentaires. Ce paramètre peut être NULL.
Valeur retournée
Si la fonction réussit, la valeur de retour est la hauteur de texte en unités logiques. Si DT_VCENTER ou DT_BOTTOM est spécifié, la valeur de retour correspond au décalage de lprc->top
vers le bas du texte dessiné
Si la fonction échoue, la valeur de retour est égale à zéro.
Remarques
La fonction DrawTextEx prend uniquement en charge les polices dont l’échappement et l’orientation sont égales à zéro.
Le mode d’alignement du texte pour le contexte de l’appareil doit inclure les indicateurs TA_LEFT, TA_TOP et TA_NOUPDATECP.
Notes
L’en-tête winuser.h définit DrawTextEx comme un 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.
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 | winuser.h (inclure Windows.h) |
Bibliothèque | User32.lib |
DLL | User32.dll |
Ensemble d’API | ext-ms-win-ntuser-misc-l1-2-0 (introduit dans Windows 8.1) |