Einzelnen Beitrag anzeigen

Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#1

ListBox mit Scrollbalken (Horizontal)

  Alt 3. Aug 2005, 19:39
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"
  Mit Zitat antworten Zitat