Bien le bonjour à tous,

Je me demandais s'il est possible de faire un alignement dans un TListBox? Par exemple :

Un début de ligne | fin de ligne.
Bonjour | à tous.
Testing one two | one two.

Les caractères | seraient tous placés à la même position vers la droite dans le ListBox, ce qui créerait un "genre" d'alignement si on veut.

Mes premiers tests furent de me créer des fonctions permettant de faire des alignements, puis d'essayer de les utiliser avec le TlistBox. Dans un fichier texte ça va marcher parfaitement, mais pour une raison x ce n'est pas fonctionnel dans un TListBox.

Voici le genre de fonction que je me suis fait :

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
16
 
function UStr_Pad_Right(cStr : String; nLong : integer; cCar : Char) : string;
var i, nLen : integer;
    PadStr : string;
begin
   PadStr := '';
   Result := trim(cStr);
   nLen   := nLong - Length(Result);
   if nLen > 0 then
      begin
         for i := 1 to nLen do
             PadStr := PadStr + cCar;
         Result := Result + PadStr;
      end
   else Result := copy(Result,1,nLong);
end;
Après je faisais par exemple :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
ListBox1.Items.Add( UStr_Pad_Right(chaine1, 50, ' ') + chaine2);
ListBox1.Items.Add( UStr_Pad_Right(chaine3, 50, ' ') + chaine2);
ListBox1.Items.Add( UStr_Pad_Right(chaine4, 50, ' ') + chaine2);
Mais malheureusement, comme je le mentionnais, ça va bien fonctionner dans un fichier texte mais pas dans un ListBox.

Avez-vous une idée?
Merci d'avance...