Bonjour,
J'ai ajouté l'appel à la procédure suivante après le chargement du contenu de chacune de mes différentes ListBox afin d'ajouter la barre d'ascenseur horizontale quand c'est nécessaire :
Cela fonctionne globalement mais pas avec précision ;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 procedure AjouterAscenseurHorizontalListBox (listBox : TListBox); var intWidth, j, intMaxWidth : integer; begin intMaxWidth := 0; for j := 0 to listBox.Items.Count - 1 do begin intWidth := listBox.Canvas.TextWidth (listBox.Items.strings [j]); if intWidth > intMaxWidth then intMaxWidth := intWidth; end; SendMessage (listBox.Handle, LB_SETHORIZONTALEXTENT, intMaxWidth, 0); end;
il semble que les calculs de taille du texte ne tiennent pas compte de la police définie par la propriété "Font" de la ListBox considérée.
Quelqu'un a-t-il une idée pour résoudre ce problème ?
Merci d'avance pour votre aide
Partager