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 :

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;
Cela fonctionne globalement mais pas avec précision ;
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