das ganze kann man auch noch bischen kürzen und anstelle von "+ x" kann man auch einfach an des die maximale breite später eine feste zahl hängen
Delphi-Quellcode:
uses
math;
[...]
procedure SetLBHScrollbar(aValue: TListBox);
var
ndx: integer;
MaxWidth: integer;
begin
MaxWidth := 0;
for ndx := 0 to aValue.Items.Count - 1 do
MaxWidth := Max(MaxWidth, aValue.Canvas.TextWidth(aValue.Items.Strings[ndx]);
SendMessage(aValue.Handle, LB_SETHORIZONTALEXTENT, MaxWidth + 10, 0);
end;