procedure TForm1.FormCreate(Sender: TObject);
var
  i,MaxWidth:integer;
begin
  MaxWidth:=0;
  for i:=0 to ListBox1.Items.Count-1 do
  if MaxWidth<ListBox1.Canvas.TextWidth(ListBox1.Items.Strings[i]) then
    MaxWidth:=ListBox1.Canvas.TextWidth(ListBox1.Items.Strings[i]);
  SendMessage(ListBox1.Handle,LB_SETHORIZONTALEXTENT,MaxWidth+2,0);
  //水平滚动的宽度在WParam中
end;