Chaîne de caractères - Obtenir la longueur en points - VB/VBA/VBS - Programmation
Marsh Posté le 23-02-2005 à 11:12:31
Je ne sais pas si c'est soit possible en VB
En .NET, y'a une méthode qui permet de faire ça, à partir d'un objet de type Graphics...
Marsh Posté le 23-02-2005 à 15:13:51
En effet, j'ai trouvé la solution en .NET et elle m'a mis sur la voie pour VB 6
Je crée un contrôle label.
Je mets les propriété textsize, font caption
je mets la proriété autosize à true et je récupère la largeur du contrôle.
Et le tour est joué.
Suffisait d'y penser ;-)
Marsh Posté le 24-02-2005 à 10:39:11
Salut,
il existe plus simple en utilisant TextWidth qui te retourne directement la largeur de la chaine passée en paramètre suivant l'unité définie par ScaleMode.
Marsh Posté le 23-02-2005 à 10:23:27
Afin d'optimiser la largeur de certains cadres, j'ai besoin de connaître la largeur que va occuper ma chaîne de caractères à l'affichage.
Par exemple, selon les polices, les caractères "i" et "l" occupent moins de place en largeur que les caractères "m" ou "w".
Il me faudrait donc une fonction qui aurait comme paramètres:
la chaine (as string)
le nom de police (as string)
la taille de police en points (as integer)
Cette fonction retournerait la longueur physique du texte
Ex : ReturnPhysicalLength("Ma chaîne de caractères","Arial",12)
Ce n'est donc pas la fonction "Len()" de VB !
Merci pour vos suggestions
Pit'