Difference between revisions of "TScrollBar/ja"
From Free Pascal wiki
Jump to navigationJump to search (Created page with "{{TScrollBar}} {{ Japanese Menu }} A '''TScrollBar''' image:tscrollbar.png is a control that allows the user to scroll the content of an associated control by moving an...") |
(→例) |
||
(3 intermediate revisions by the same user not shown) | |||
Line 3: | Line 3: | ||
{{ Japanese Menu }} | {{ Japanese Menu }} | ||
− | + | TScrollBarは、ユーザーがスライダーを移動させることで関連するコントロールのコンテンツをスクロールできるコントロールだ。 | |
− | == | + | ==使い方== |
− | + | TScrollBarを使うには、[[Component Palette/ja]]の[[Standard tab/ja]]で選択し[[TForm|form]]に置く。 | |
− | == | + | ==例== |
− | + | 以下は、スクロールバーの位置に応じてフォーム上の画像を移動させる方法である: | |
− | * | + | * フォームに2つのTScrollBarを配置する。 |
− | * | + | * オブジェクトインスペクタで、最初のスクロールバーのプロパティを次のように変更する:「Name」を「sbVert」、「Kind」を「sbVertical」、「Align」を「alRight」へ。 |
− | * | + | * オブジェクトインスペクタで、2番目のスクロールバーのプロパティを「Name」を「sbHori」、「Align」を「alBottom」に変更する。 |
− | * | + | * フォームに[[TPaintBox]](追加のコンポーネントパレット)を追加し、「align」を「alClient」に設定する。 |
− | * | + | * フォームに[[TImageList]](共通のコントロールコンポーネントパレット)を追加する。 |
− | * | + | * 画像をImageListにアップロードする: |
− | ** | + | ** ImageList1を右クリックし、ポップアップメニューから''ImageList Editor...''を選択する。 |
− | ** | + | ** ''Add''をクリックし、画像を選択する(できれば小さなアイコン16 x 16などを推奨する。例:Lazarus/images/icons/lazarus16x16)。 |
− | ** | + | ** ''OK''で選択を完了します。 |
− | * | + | * PaintBoxを選択し、オブジェクトインスペクタでイベントの下にある''OnPaint''イベントハンドラを作成し、次のコードを記述する: |
<syntaxhighlight lang=pascal> | <syntaxhighlight lang=pascal> | ||
Line 34: | Line 34: | ||
end; | end; | ||
</source> | </source> | ||
− | * | + | * スクロールバーの位置の変更によってフォームを再描画するために、スクロールバーのイベントハンドラに''OnChange''を作成し、他のスクロールバーにも同様のイベントハンドラを呼び出す。 |
+ | |||
<source> | <source> | ||
procedure TForm1.sbVertChange(Sender: TObject); | procedure TForm1.sbVertChange(Sender: TObject); | ||
Line 46: | Line 47: | ||
[[image:ScrollBarExample.png]] | [[image:ScrollBarExample.png]] | ||
− | == | + | ==以下も参照のこと== |
* [[doc:lcl/stdctrls/tscrollbar.html|TScrollBar doc]] | * [[doc:lcl/stdctrls/tscrollbar.html|TScrollBar doc]] | ||
Line 52: | Line 53: | ||
* [[TScrollBox]] | * [[TScrollBox]] | ||
− | {{LCL Components}} | + | {{LCL Components/ja}} |
Latest revision as of 05:36, 24 March 2024
│
Deutsch (de) │
English (en) │
suomi (fi) │
français (fr) │
日本語 (ja) │
TScrollBarは、ユーザーがスライダーを移動させることで関連するコントロールのコンテンツをスクロールできるコントロールだ。
使い方
TScrollBarを使うには、Component Palette/jaのStandard tab/jaで選択しformに置く。
例
以下は、スクロールバーの位置に応じてフォーム上の画像を移動させる方法である:
- フォームに2つのTScrollBarを配置する。
- オブジェクトインスペクタで、最初のスクロールバーのプロパティを次のように変更する:「Name」を「sbVert」、「Kind」を「sbVertical」、「Align」を「alRight」へ。
- オブジェクトインスペクタで、2番目のスクロールバーのプロパティを「Name」を「sbHori」、「Align」を「alBottom」に変更する。
- フォームにTPaintBox(追加のコンポーネントパレット)を追加し、「align」を「alClient」に設定する。
- フォームにTImageList(共通のコントロールコンポーネントパレット)を追加する。
- 画像をImageListにアップロードする:
- ImageList1を右クリックし、ポップアップメニューからImageList Editor...を選択する。
- Addをクリックし、画像を選択する(できれば小さなアイコン16 x 16などを推奨する。例:Lazarus/images/icons/lazarus16x16)。
- OKで選択を完了します。
- PaintBoxを選択し、オブジェクトインスペクタでイベントの下にあるOnPaintイベントハンドラを作成し、次のコードを記述する:
procedure TForm1.PaintBox1Paint(Sender: TObject);
begin
ImageList1.Draw(
Paintbox1.Canvas,
sbHori.Position * (PaintBox1.ClientWidth - ImageList1.Width) div sbHori.Max,
sbVert.Position * (Paintbox1.ClientHeight - ImageList1.Height) div sbVert.Max,
0);
end;
</source>
* スクロールバーの位置の変更によってフォームを再描画するために、スクロールバーのイベントハンドラに''OnChange''を作成し、他のスクロールバーにも同様のイベントハンドラを呼び出す。
<source>
procedure TForm1.sbVertChange(Sender: TObject);
begin
RePaint;
end;
Your little program could look like:
以下も参照のこと