Win32 WTL Tips No.2 / チェックボックスにチェックする 解除する

Win32API


SendMessage(Window handle, BM_SETCHECK, TRUE or FALSE, 0L);

TRUEでチェック
FALSEでチェック解除
Window handle = google:HWND型のウィンドウハンドル

ちなみにチェック状態を取得する場合は


BOOL r = SendMessage(Window handle, BM_GETCHECK, 0, 0L);
のようにして変数rに値を入れます。

このようにSendMessageはいちいち面倒なのでWTLにはCButtonというクラスが用意されています。
例えば


class CMainDlg
内で

CButton check1;
を宣言し、

CMainDlg::OnInitDialog()
内で

check1 = GetDlgItem(ID_CHECK1);
のようにしてCButtonクラスを初期化して使います。
そうすると

check1.SetCheck(TRUE);
BOOL r = check1.GetCheck();
のようにしてID_CHECK1のIDが付いているチェックボックスを操作することが出来ます。