Chaîne de caractères - Obtenir la longueur en points

Chaîne de caractères - Obtenir la longueur en points - VB/VBA/VBS - Programmation

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'

Reply

Marsh Posté le 23-02-2005 à 10:23:27   

Reply

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...

Reply

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 ;-)

Reply

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.


Message édité par baffab le 24-02-2005 à 10:40:04

---------------
alliancefrancophone - logiciels persos (ogm ou mkv vers avi, sous-titres...) - modif firmwares MTK13x9
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed