TCheckBoxオブジェクトのチェック状態を設定する

TCheckBoxオブジェクトのChecked、Stateプロパティを変更すると、OnClickイベントが必ず発生します。このOnClickイベントが発生しないようにするには、BM_SETCHECKメッセージを使ってチェック状態を変更します。例えば、次のようにします。

例:

//---------------------------------------------------------------------------
void __fastcall SetCheckBoxState(TCheckBox* ACheckBox, TCheckBoxState AState)
{
        switch(AState) {
        case cbChecked:
                SendMessage(ACheckBox->Handle, BM_SETCHECK, BST_CHECKED, 0);
                break;
        case cbUnchecked:
                SendMessage(ACheckBox->Handle, BM_SETCHECK, BST_UNCHECKED, 0);
                break;
        case cbGrayed:
                SendMessage(ACheckBox->Handle, BM_SETCHECK, BST_INDETERMINATE, 0);
                break;
        }
}
//---------------------------------------------------------------------------
最終更新: 2008-07-03

戻る