VCLのTCheckBoxはOnClickイベントが発生したときには、Checkedプロパティの値は更新されている
たとえば次のコードでは、チェックボックスをチェックすると”True”と表示される。
void __fastcall TForm1::CheckBox1Click(TObject *Sender)
{
UnicodeString value = (CheckBox1->Checked ? "True" : "False");
ShowMessage(value);
}
FireMonkeyのTCheckBoxでは、チェックの状態が変更される前にOnClickイベントが発生するようだ。
OnClickイベントではIsCheckedプロパティの値は更新されていない。
FireMonkeyアプリケーションの次のコードでは、チェックボックスをチェックしたとき”False”と表示される。
void __fastcall TForm1::CheckBox1Click(TObject *Sender)
{
UnicodeString value = (CheckBox1->IsChecked ? "True" : "False");
ShowMessage(value);
}
FireMonkeyのTCheckBoxでは、チェックの状態が変更されたことを知るにはOnChangeイベントを使うと良さそうだ。
OnChangeイベントでは、IsCheckedプロパティの値は更新されている。
void __fastcall TForm1::CheckBox1Change(TObject *Sender)
{
UnicodeString value = (CheckBox1->IsChecked ? "True" : "False");
ShowMessage(value);
}