Bonjour
Je voudrais définir la largeur d'un TEdit pour qu'elle ne dépasse pas la largeur maximum utile, c'est à dire celle du nombre de "W" qui est la lettre la plus large.
Il faut que cela dépende automatiquement de la police du TEdit et du MaxLength (>0 ici).
Pour trouver la bonne largeur de MonEdit je fais ce qui suit, que j'ai dû récupérer quelque part :
Malheureusement, la largeur ainsi calculée est trop petite (généralement d'un peu plus d'1 caractère).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 var C : TControlCanvas; C:=TControlCanvas.Create; C.control:=MonEdit; C.Font.Assign(MonEdit.Font); // peut-être pas utile ? W := C.TextWidth(StringOfChar('W', MonEdit.MaxLength) ); MonEdit.ClientWidth := W ;
Savez-vous ce qui cloche ? Peut-être n'ai-je pas le bon canvas ?
Merci pour vos suggestions.
Partager