Ceci est une ancienne révision du document !


TCanvas

Dessiner du Texte

DrawText

Exemple

DrawText(Canvas.Handle,PChar(vText), length(vText),vTextBox,DT_WORDBREAK or DT_INTERNAL or DT_CALCRECT);

Formats

DT_BOTTOM

Justifie le texte au bas du rectangle. Cette valeur est utilisée uniquement avec la valeur DT_SINGLINE.

DT_CALCRECT

Détermine la largeur et la hauteur du rectangle. S'il y a plusieurs lignes de texte, DrawText utilise la largeur du rectangle pointé par le paramètre lpRect et étend la base du rectangle pour délimiter la dernière ligne de texte. Si le mot le plus grand est plus large que le rectangle, la largeur est étendue. Si le texte est plus petit que la largeur du rectangle, la largeur est réduite. S'il n'y a qu'une seule ligne de texte, DrawText modifie le côté droit du rectangle de manière à ce qu'il délimite le dernier caractère de la ligne. Dans les deux cas, DrawText renvoie la hauteur du texte formaté mais ne dessine pas le texte.

DT_CENTER

Centrer le texte horizontalement dans le rectangle.

DT_EDITCONTROL

Duplique les caractéristiques d'affichage du 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 une dernière ligne partiellement visible.

DT_END_ELLIPSIS

Pour le texte affiché, si la fin d'une chaîne ne rentre pas dans le rectangle, elle est tronquée et des ellipses sont ajoutées. Si un mot qui n'est pas à la fin de la chaîne dépasse les limites du rectangle, il est tronqué sans ellipses. La chaîne n'est pas modifiée à moins que le drapeau DT_MODIFYSTRING ne soit spécifié.

Comparer avec DT_PATH_ELLIPSIS et DT_WORD_ELLIPSIS.

DT_EXPANDTABS

Développe les caractères de tabulation. Le nombre de caractères par défaut par onglet est de huit. Les valeurs DT_WORD_ELLIPSIS, DT_PATH_ELLIPSIS et DT_END_ELLIPSIS ne peuvent pas être utilisées avec la valeur DT_EXPANDTABS.

DT_EXTERNALLEADING

Inclut la police de caractères externe en tête de ligne. Normalement, l'entête externe n'est pas incluse dans la hauteur d'une ligne de texte.

DT_HIDEPREFIX

Ignore le caractère préfixe (&) de l'esperluette dans le texte. La lettre qui suit ne sera pas soulignée, mais les autres caractères mnémoniques du préfixe sont toujours traités. Exemple :

chaîne de saisie : “A&bc&&d”

normal : “Abc&d

DT_HIDEPREFIX : “Abc&d”

Comparer avec DT_NOPREFIX et DT_PREFIXONLY.

DT_INTERNAL

Utilise la police du système pour calculer les mesures du texte.

DT_LEFT

Aligne le texte à gauche.

DT_MODIFYSTRING

Modifie la chaîne de caractères spécifiée pour qu'elle corresponde au texte affiché. Cette valeur n'a aucun effet à moins que DT_END_ELLIPSIS ou DT_PATH_ELLIPSIS ne soit spécifié.

DT_NOCLIP

Tirages au sort sans coupure. DrawText est un peu plus rapide lorsque DT_NOCLIP est utilisé.

DT_NOFULLWIDTHCHARBREAK

Empêche un saut de ligne au niveau d'une DBCS (chaîne de caractères à double largeur), 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 une meilleure lisibilité des étiquettes d'icônes. Cette valeur n'a aucun effet à moins que DT_WORDBREAK ne soit spécifié.

DT_NOPREFIX

Désactive le traitement des caractères de préfixe. Normalement, DrawText 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 && comme une directive pour imprimer un seul &. En spécifiant DT_NOPREFIX, ce traitement est désactivé. Par exemple, Exemple :

chaîne de saisie : “A&bc&&d”

normal : “Abc&d

DT_NOPREFIX : “A&bc&&d”

Comparer avec DT_HIDEPREFIX et DT_PREFIXONLY.

DT_PATH_ELLIPSIS

Pour le texte affiché, remplace les caractères au milieu de la chaîne par des ellipses afin que le résultat s'inscrive dans le rectangle spécifié. Si la chaîne de caractères contient une barre oblique inversée (\), DT_PATH_ELLIPSIS préserve autant que possible le texte après la dernière barre oblique inversée. La chaîne n'est pas modifiée à moins que l'indicateur DT_MODIFYSTRING ne soit spécifié.

Comparez avec DT_END_ELLIPSIS et DT_WORD_ELLIPSIS.

DT_PREFIXONLY

Dessine seulement un trait de soulignement à la position du caractère suivant le caractère de préfixe de l'esperluette (&). Ne dessine aucun autre caractère dans la chaîne. Par exemple, Exemple :

chaîne de saisie : “A&bc&&d “n

normal : “Abc&d

DT_PREFIXONLY : ” _ ”

Comparer avec DT_HIDEPREFIX et DT_NOPREFIX.

DT_RIGHT

Aligne le texte sur la droite.

DT_RTLREADING

Mise en page dans l'ordre de lecture de droite à gauche pour un 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.

DT_SINGLINE

Affiche le texte sur une seule ligne. Les retours de chariot et les sauts de ligne ne cassent pas la ligne.

DT_TABSTOP

Définit les arrêts de tabulation. Les bits 15-8 (octet d'ordre supérieur du mot d'ordre inférieur) du paramètre uFormat spécifient le nombre de caractères pour chaque tabulation. Le nombre de caractères par défaut pour chaque onglet est de huit. Les valeurs DT_CALCRECT, DT_EXTERNALLEADING, DT_INTERNAL, DT_NOCLIP, et DT_NOPREFIX ne peuvent pas être utilisées avec la valeur DT_TABSTOP.

DT_TOP

Justifie le texte en haut du rectangle.

DT_VCENTER

Le texte est centré verticalement. Cette valeur est utilisée uniquement avec la valeur DT_SINGLINE.

DT_WORDBREAK

Brise les mots. Les lignes sont automatiquement coupées entre les mots si un mot dépasse le bord du rectangle spécifié par le paramètre lpRect. Une séquence de retour de chariot à la ligne casse également la ligne. Si cela n'est pas spécifié, la sortie se fait sur une ligne.

DT_WORD_ELLIPSIS

Tronque tout mot qui ne rentre pas dans le rectangle et ajoute des ellipses. Comparez avec DT_END_ELLIPSIS et DT_PATH_ELLIPSIS.

Vous pourriez laisser un commentaire si vous étiez connecté.