Hai,
dieser kleine Code setzt bei einer TListBox einen horizontalen Scrollbalken auf Breite des breitesten Eintrages:
Delphi-Quellcode:
procedure SetLBHScrollbar(aValue: TListBox);
var
ndx: integer;
curentWidth: integer;
MaxWidth: integer;
begin
MaxWidth := 0;
for ndx := 0 to aValue.Items.Count - 1 do
begin
curentWidth := aValue.Canvas.TextWidth(aValue.Items.Strings[ndx] + 'x');
if MaxWidth < curentWidth then
begin
MaxWidth := curentWidth
end;
end;
SendMessage(aValue.Handle, LB_SETHORIZONTALEXTENT, MaxWidth, 0);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
SetLBHScrollbar(ListBox1);
end;
Das " + 'x' " ist nicht notwendig. Aber dadurch "klebt" der Eintrag nicht so eng am rechten Rand
Stephan B.
"Lasst den Gänsen ihre Füßchen"