実行時のスクロールバーの追加
コントロールの利用:インデックス への移動
書式付エディタとメモコンポーネントには,水平スクロールバーと垂直スクロールバーの両方または一方を必要に応じて表示することができます。ワードラップが有効な場合,コンポーネントが必要とするのは垂直スクロールバーだけです。ワードラップを無効にした場合,テキストが右マージンで制限されなくなるので,コンポーネントは水平スクロールバーも必要とすることがあります。
実行時にスクロールバーを追加する手順は次のとおりです。
- テキストが右マージンを超えることがあるかどうかを調べます。通常は,ワードラップが有効になっているかどうかを確認します。実際にテキスト行がコンポーネント幅を超えているかどうかを調べる場合もあります。
- 編集コンポーネントやメモコンポーネントの ScrollBars プロパティを設定して,スクロールバーを表示または非表示にします。
以下の例は,[Character > WordWrap]メニューの OnClick イベントハンドラです。
procedure TForm.WordWrap1Click(Sender: TObject);
begin
with Editor do
begin
WordWrap := not WordWrap; { ワードラップを切り替える }
if WordWrap then
ScrollBars := ssVertical { ラップする場合,垂直方向のみ }
else
ScrollBars := ssBoth; { アンラップする場合,水平/垂直両方向 }
WordWrap1.Checked := WordWrap; { プロパティを一致させるためにメニュー項目にチェックマークを付ける }
end;
end;
void __fastcall TForm::WordWrap1Click(TObject *Sender)
{
Editor->WordWrap = !(Editor->WordWrap); // ワードラップを切り替える
if (Editor->WordWrap)
Editor->ScrollBars = ssVertical; // ラップする場合,垂直方向のみ
else
Editor->ScrollBars = ssBoth; // アンラップする場合,水平/垂直両方向
WordWrap1->Checked = Editor->WordWrap; // プロパティを一致させるためにメニュー項目にチェックマークを付ける
}
書式付きエディタとメモコンポーネントは,少し異なる方法でスクロールバーの処理をします。書式付きテキストコンポーネントでは,テキストがコンポーネントの範囲内に収まる場合はスクロールバーを非表示にできます。メモコンポーネントでは,スクロールバーは使用可能な場合は必ず表示されます。