フリーソフト

« [Delphi] 文字列を表示するのに必要な幅や高さが知りたい | トップページ | [Delphi] ListBoxをスクロールさせる »

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

ListBoxに横スクロールバーを表示する例です。ListBoxの中で一番、幅の長いアイテムを見つけてから、それにあわせて横スクロールバーを表示しています。

procedure TForm1.Button1Click(Sender: TObject);
var
 i:Integer;
 MaxWidth:Integer;
 TextWidth:Integer;
begin
 //一番、幅の長い文字列を調べる
 MaxWidth:=0;
 for i:=0 to ListBox1.Items.Count-1 do begin
  TextWidth:=ListBox1.Canvas.TextWidth(ListBox1.Items[i]);
  if (MaxWidth < TextWidth) then MaxWidth:=TextWidth;
 end;

 //横スクロールバーを表示
 ListBox1.Perform (LB_SETHORIZONTALEXTENT, MaxWidth+10, 0);
end;

« [Delphi] 文字列を表示するのに必要な幅や高さが知りたい | トップページ | [Delphi] ListBoxをスクロールさせる »

Delphi」カテゴリの記事

TListBox」カテゴリの記事

コメント

この記事へのコメントは終了しました。