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 :
Après je faisais par exemple :
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;
Mais malheureusement, comme je le mentionnais, ça va bien fonctionner dans un fichier texte mais pas dans un ListBox.
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);
Avez-vous une idée?
Merci d'avance...![]()
Partager