通知
すべてクリア
Topic starter
2003年3月9日 1:57 AM
ダイアログ上のチェックボックスをDisableにしようとして
SendDlgItemMessage(IDC_CHECK, WM_ENABLE, (WPARAM)FALSE);
としてみたのですが、チェックボックスがDisableになりません。
他のコントロールはこの方法でEnable/Disableの切り替えができるのですが
なぜチェックボックスの場合はうまくいかないのでしょう?
よろしくご教授ください。
WinMe, VC++6.0SP5 MFC
2003年3月9日 3:34 AM
>SendDlgItemMessage(IDC_CHECK, WM_ENABLE, (WPARAM)FALSE);
>としてみたのですが、チェックボックスがDisableになりません。
単に、GetDlgItem( IDC_CHECK)->EnableWindow( FALSE); ではなぜダメなの?
2003年3月9日 3:50 AM
MSDN で WM_ENABLE の説明をよく読んでください。
WM_ENABLE はウィンドウの有効/無効が切り替わったことを知らせるために送られるメッセージ
であって、
有効/無効を切り替えるためのメッセージではないです。
これは他のコントロールでも同じです。
エディットボックスなんかは一見無効になっているように見えますが、
文字列が入力できたりします。(Win2000 の場合)
Topic starter
2003年3月9日 6:43 AM
たしかに
>WM_ENABLE はウィンドウの有効/無効が切り替わったことを知らせるために送られる
>メッセージであって、
と書いてありました。
申し訳ありません。調査不足でした。
ありがとうございました。