void __fastcall ShowListBoxHScroll(TListBox *LB)
{
    int MaxWidth = 0;
    for (int i = LB->Items->Count; i--; )
        MaxWidth = Max(MaxWidth, LB->Canvas->TextWidth(LB->Items[I]));
    ::SendMessage(LB->Handle, LB_SETHORIZONTALEXTENT, MaxWidth + 6, 0);
}

procedure ShowListBoxHScroll(LB: TListBox);
var
  I: Integer;
  MaxWidth: integer;
begin
  MaxWidth := 0;
  for I := 0 to LB.Items.Count - 1 do
    MaxWidth := Max(MaxWidth, LB.Canvas.TextWidth(LB.Items[I]));
  SendMessage(LB.Handle, LB_SETHORIZONTALEXTENT, MaxWidth + 6, 0);
end;

+ Recent posts