Hi.
Der vertikale ScrollBar ist bei der
VCL-ListBox immer (window style) vorhanden. Windows steuert die Sichtbarkeit selbst je nach Bedarf. Wenn er unsichtbar gemacht werden soll, dann ist die Frage für wie lange? Dauerhaft, dann am besten über die CreateParams einer eigenen Komponente. Nur für den Augenblick, dann über ShowScrollBar(). Damit erscheint er sofort wieder, wenn das TopItem sich ändert. Soll die Sichtbarkeit willkürlich gesteuert werden, dann würde ich es mit SetScrollRange() machen - immer nachdem sich die Zahl der Items in der ListBox geändert hat:
SetScrollRange(ListBox.Handle, SB_VERT, 0, 0, true);
Grüße vom marabu