ListBoxに横スクロールバーをつける

リストボックスには縦スクロールバーは表示されますが横スクロールバーは表示されません。横スクロールバーを表示するにはリストボックスに LB_SETHORIZONTALEXTENTメッセージを送信します。以下の例はリストボックス内の文字列の長さを調べ最大の値とSetHorizontalExtentメッセージを送信します。

■ ListBox に横スクロールバーを付ける例
var
  intMaxWidth  :  integer;
  intTextWidth :  integer;
  ix           :  integer;
begin
  intMaxWidth      :=     0;
  for      ix      :=     0   to  ListBox1.Items.Count - 1  do
  begin
    //文字列の長さ
    intTextWidth  :=     ListBox1.Canvas.TextWidth(ListBox1.Items[ix]);
    //退避分と比較
    if    intMaxWidth <  intTextWidth   then
    begin
      //適用
      intMaxWidth    :=     intTextWidth;
    end;
  end;
  //横スクロールバー表示
  ListBox1.Perform (LB_SETHORIZONTALEXTENT, intMaxWidth, 0);
end.