TCheckGroup/ja
Deutsch · English · Français · Suomi · Русский · 中文(中国) · 日本語
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;
以下も参照のこと
From the Free Pascal wiki, page "TCheckGroup/ja", as it stood on 2024-03-24 after a change by Ariben, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.