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.
|