今回はチェックボックス(TCheckBox)です。
これも定番ですねぇ。
◆チェックボックス(TCheckBox)のプロパティ
[AllowGrayed] trueにすると、通常チェック→グレーチェック→無しの3段階になります。
[Caption] チェックボックスの表示名。
[Checked] チェックの状態(設定、判定用に使います)
[State] AllowGrayedがtrueの場合は判定用に使います。
注意点として、チェックボックスの[Checked]に値を入れると
(例:CheckBox1->Checked = true;)
OnClickイベントも一緒に呼ばれます。
コーディングしていると、ついつい忘れがちなので気をつけよう。
イベントを呼びたくない場合は以下の方法で回避します。
Checked設定時にOnClickイベントを回避する
TNotifyEvent tmp = CheckBox1->OnClick;
CheckBox1->OnClick = NULL;
CheckBox1->Checked = true;
CheckBox1->OnClick = tmp;
一旦、OnClickのアドレスをTNotifyEventに入れて、
OnClick自体はNULLを入れておきます。
その後、Checkedに値を入れてやればイベントは発生させずに
設定することができます。