Evo ti kod koji radi sledece: Prolazi kroz list box i gleda koliko je siroka svaka linija teksta i pronalazi najvecu (u pikselima). Onda salje poruku listbox-u posle koje listbox automatski prikazuje scroll bar ako je sirina koju mu saljemo veca od sirine samog listox-a.
Code:
procedure TForm1.XXXXX;
Var x, i, max : integer;
begin
...
// Ubacivanje stavki...
.....
Canvas.font := ListBox1.Font; // Koristimo canvas forme za pomoc
max := 0;
for i:= 0 To LstBox1.items.Count-1 do begin
x:= Canvas.TextWidth( ListBox.Items[i] );
If x > max then
max := x;
end;
Canvas.Font := Font; // Vracamo stari font formi
ListBox1.Perform( LB_SETHORIZONTALEXTENT, max, 0 ); // Saljemo poruku...
end;
...