Difference between revisions of "TCheckGroup/ja"
From Lazarus wiki
Jump to navigationJump to search (→Usage) |
|||
Line 4: | Line 4: | ||
'''TCheckGroup'''[[image:tcheckgroup.png]]は、コンテナコンポーネント上で物理的におよび論理的にグループ化されたTCheckBoxアイテムのグループを含むコントロールである。 | '''TCheckGroup'''[[image:tcheckgroup.png]]は、コンテナコンポーネント上で物理的におよび論理的にグループ化されたTCheckBoxアイテムのグループを含むコントロールである。 | ||
− | |||
− | |||
− | + | TForm上でTCheckGroupを使用するには、単に[[Component Palette/ja|コンポーネントパレット]]の[[Standard tab/ja|Standardタブ]]でそれを選択し、フォーム上でクリックして配置する。 | |
− | + | ===例=== | |
− | + | フォームの背景色を変更する。この色は、個々の色成分を加算して決定される: | |
− | * | + | * 新しいアプリケーションを作成し、フォームにTCheckGroupを配置する。 |
− | * | + | * オブジェクトインスペクタで、''CheckGroup1''の''Name''プロパティを''cgRed''に変更し、キャプションを''Red''に変更する。 |
− | * | + | * ''cgRed''にチェックボックスを追加する。 |
− | ** | + | ** オブジェクトインスペクタで、''cgRed''の''Items''プロパティを選択する。 |
− | ** | + | ** [...]ボタンをクリックすると、文字列エディタが開く。 |
− | ** | + | ** 1 2 4 8 16 32 64 128と入力し、''OK''ボタンをクリックしてエントリを完了する。 |
− | * | + | * フォーム上の''cgRed''を右クリックし、「コピー」をクリックしてこのTCheckGroupをコピーする。 |
− | * | + | * フォームを右クリックし、''Insert''をクリックして、名前が''cgRed1''のTCheckGroupが作成される。 |
− | * | + | * ''cgRed1''の''Name''を''cgGreen''に変更し、''Caption''を''Green''に変更する。 |
− | * | + | * TCheckGroupを挿入し、その名前を''cgBlue''に変更し、キャプションを''Blue''に変更する。 |
− | * | + | * チェックボックスがクリックされるたびに、色が変わる。 |
− | ** | + | ** オブジェクトインスペクタで、''cgRed''の''OnItemClick''イベントハンドラを作成するために、''OnItemClick''イベントの隣の [...] ボタンをクリックする。 |
− | ** | + | ** ''cgGreen''と''cgBlue''についても同じイベントハンドラを選択するために、''OnItemClick''イベントの隣にあるComboBoxでそれぞれ''cgRedItemClick''を選択する。 |
− | ** | + | ** ''cgGreen''と''cgBlue''に対しても同じイベントハンドラを選択するために、''OnItemClick''イベントの隣にあるコンボボックスでそれぞれ''cgRedItemClick''を選択する。 |
+ | ** イベントハンドラに以下のコードを記述する: | ||
<syntaxhighlight lang=pascal> | <syntaxhighlight lang=pascal> | ||
Line 41: | Line 40: | ||
end; | end; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | * | + | * プログラムを実行すると、以下のように見えるだろう: |
[[image:ExampleTCheckGroup.png]] | [[image:ExampleTCheckGroup.png]] | ||
− | |||
==Accessing the Check Boxes== | ==Accessing the Check Boxes== |
Revision as of 10:05, 24 March 2024
│
Deutsch (de) │
English (en) │
suomi (fi) │
français (fr) │
日本語 (ja) │
русский (ru) │
中文(中国大陆) (zh_CN) │
TCheckGroupは、コンテナコンポーネント上で物理的におよび論理的にグループ化されたTCheckBoxアイテムのグループを含むコントロールである。
TForm上でTCheckGroupを使用するには、単にコンポーネントパレットのStandardタブでそれを選択し、フォーム上でクリックして配置する。
例
フォームの背景色を変更する。この色は、個々の色成分を加算して決定される:
- 新しいアプリケーションを作成し、フォームにTCheckGroupを配置する。
- オブジェクトインスペクタで、CheckGroup1のNameプロパティをcgRedに変更し、キャプションをRedに変更する。
- cgRedにチェックボックスを追加する。
- オブジェクトインスペクタで、cgRedのItemsプロパティを選択する。
- [...]ボタンをクリックすると、文字列エディタが開く。
- 1 2 4 8 16 32 64 128と入力し、OKボタンをクリックしてエントリを完了する。
- フォーム上のcgRedを右クリックし、「コピー」をクリックしてこのTCheckGroupをコピーする。
- フォームを右クリックし、Insertをクリックして、名前がcgRed1のTCheckGroupが作成される。
- cgRed1のNameをcgGreenに変更し、CaptionをGreenに変更する。
- TCheckGroupを挿入し、その名前をcgBlueに変更し、キャプションをBlueに変更する。
- チェックボックスがクリックされるたびに、色が変わる。
- オブジェクトインスペクタで、cgRedのOnItemClickイベントハンドラを作成するために、OnItemClickイベントの隣の [...] ボタンをクリックする。
- cgGreenとcgBlueについても同じイベントハンドラを選択するために、OnItemClickイベントの隣にあるComboBoxでそれぞれcgRedItemClickを選択する。
- cgGreenとcgBlueに対しても同じイベントハンドラを選択するために、OnItemClickイベントの隣にあるコンボボックスでそれぞれcgRedItemClickを選択する。
- イベントハンドラに以下のコードを記述する:
procedure TForm1.cgRedItemClick(Sender: TObject; Index: integer);
var
i, c: Integer;
begin
c := $000000; // first the color is black
for i:=0 to 7 do begin // test Items 0..7 of all Checkgroups
if cgRed.Checked[i] then c := c + 1 shl i; // amount of red $000000..$0000FF
if cgGreen.Checked[i] then c := c + 1 shl (i + 8); // amount of green $000000..$00FF00
if cgBlue.Checked[i] then c := c + 1 shl (i + 16); // amount of blue $000000..$FF0000
end;
Color := c;
end;
- プログラムを実行すると、以下のように見えるだろう:
Accessing the Check Boxes
Each item in the TCheckGroup has a Checked property, to set them all to checked do
for i := 0 to MyCheckGroup.items.Count-1 do // check all the categories we found.
MyCheckGroup.Checked[i] := true;
You can add items at run time by using TCheckGroup.Items, its a TStrings list. To add an new checkbox to the set, just do MyCheckGroup.Items.add('CheckThis'); Similarly, to remove all items, clear the list, MyCheckGroup.Items.clear;
See also