티스토리 뷰
텍스트는 우측에 표시, BS_LEFTTEXT 지정하면 좌측에 표시된다.
스타일
BS_CHECKBOX : 컨트롤에 BM_SETCHECK 메시지를 보내 체크 표시 설정
체크표시하면 wParam을 1로, 제거하려면 0으로 한다.
체크상자에 체크표시 : SendMessage(체크상자 핸들, BM_SETCHECK, 1, 0)
BM_GETCHECK : 체크상태 얻음
SendMessgae((HWND)lParam, BM_SETCHECK, (WPARAM)!SendMessage((HWND)lParam, BM_GETCHECK, 0, 0), 0)
부모윈도우에서 체크상자에 메시지를 보내면 부모윈도우의 WM_COMMAND 메시지에서 lParam 은 체크상자의 핸들 값을 가진다. BM_GETCHECK로 부터 체크 상태를 얻어 체크되어 있으면 해제하고, 해제되어 있으면 체크하겠금 한다.
int n체크 = (int)SendMessage(체크상자 핸들, BM_GETCHECK, 0, 0)
체크되어 있으면 0 이 아닌값(TRUE), 아니면 0 (FALSE)가 된다.
CheckDlgButton(hDlg, 체크박스ID, iCheck(1 또는 0)); 1 이면 체크, 0 이면 체크 해제
iCheck = IsDlgButtonChecked(hDlg, 체크박스ID);
체크 토글시키기 : CheckDlgButton(hDlg, 체크박스ID, !IsDlgButtonChecked(hDlg, 체크박스ID));
BS_AUTOCHECKED 속성이 지정되어 있으면 WM_COMMAND 처리없이 IsDlgButtonChecked()로 현재상태 얻을수있다.