Q.   How can I get a horizontal scrollbar on a list box?

A.   Send a LB_SetHorizontalExtent message to the listbox's window handle. It needs to be set to something larger than the actual width of the listbox.  For example, the message could be sent in the form's OnCreate:

procedure TForm1.FormCreate(Sender: TObject);
begin
  SendMessage(Listbox1.Handle, LB_SetHorizontalExtent, Listbox1.width + 1, Longint(0));
end;