通知
すべてクリア
Topic starter
2006年3月17日 2:47 PM
チェックボックスを読み込みOnly(灰色)にできますか?
エディットボックスの奴と同じです。
net2003でMFCアプリを使ってます。
方法など教えてください
2006年3月17日 6:28 PM
BOOL CMyDlg::OnInitDialog()
{
...
// TODO: 初期化をここに追加します。
GetDlgItem(IDC_CHECK1)->EnableWindow(FALSE);
GetDlgItem(IDC_CHECK2)->EnableWindow(FALSE);
((CButton*)GetDlgItem(IDC_CHECK2))->SetCheck(BST_CHECKED);
GetDlgItem(IDC_CHECK3)->EnableWindow(FALSE);
((CButton*)GetDlgItem(IDC_CHECK3))->SetCheck(BST_INDETERMINATE);
return TRUE;
}
例えばこんなやり方でできるけど、BST_CHECKEDとBST_INDETERMINATEの
区別は無理ですね。これも必要ならオーナードローをすることになるかと。
別の方法としては、EnableWindowはTRUEのままで見た目は同じにしておいて、
クリックを無視する方法かな。
PreTranslateMessageで処理すればよいかと。