TCheckGroup/ja
From Lazarus wiki
Jump to navigationJump to search
│
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;
- プログラムを実行すると、以下のように見えるだろう:
チェックボックスにアクセスする
TCheckGroup内の各アイテムにはCheckedプロパティがあり、それらをすべてチェック済みに設定するには、次のようにする。
for i := 0 to MyCheckGroup.items.Count-1 do // 見つかったすべてのカテゴリを調べる
MyCheckGroup.Checked[i] := true;
実行時にアイテムを追加するには、TCheckGroup.Itemsを使用する。これはTStringsリストである。新しいチェックボックスをセットに追加するには、単にMyCheckGroup.Items.add('CheckThis');を行う。同様に、すべてのアイテムを削除するには、リストをクリアする MyCheckGroup.Items.clear;
以下も参照のこと