Bonjour à tous,
Je cherche à ajuster les dimensions d'un composant Memo en fonction de la longueur de la/des ligne(s) à afficher.
Pour cela, j'utilise la méthode TextExtent (propriété Canvas d'un objet TForm), qui renvoie les dimensions en pixels de la chaîne.
Le problème est que cette méthode considère le caractère tabulation ("\t")comme un seul caractère au lieu de l'étendre à N espaces.
Exemple :
renvoient tous deux 104 pixels en Courier 10, alors qu'à l'affichage la seconde chaîne sera évidamment plus longue.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 taille = Form1->Canvas->TextExtent("Petite chaine"); taille = Form1->Canvas->TextExtent("Petite\tchaine");
Je n'ai pas trouvé dans l'aide de l'API Windows la valeur par défaut du nombre d'espaces correspondant à une tabulation.
Quelqu'un a une idée ?
Merci
Partager