• 締切済み

チェックボックスの使い方教えてください。

VC++6.0 MFC です。 チェックリストボックスを無効から有効に切り替えたいんだけど 使い方が良くわかんないっす。 ダイアログエディタで先にIDC_CHECK1のチェックボックスを無効にしてます。 (あと、IDC_CHECK1はメンバ変数bool m_bFlagって入れてます。) CCheckListBox* ckBox; ckBox->Enable(IDC_CHECK1,true); warning C4700: 値が割り当てられていない ローカルな変数 'ckBox' に対して参照が行われました。

みんなの回答

  • takoashi
  • ベストアンサー率39% (21/53)
回答No.3

CWnd::Enable(bool bEnable); CCheckListBox(int index, bool bEnable); と呼び出している関数が違います。 上記は、リストボックス全体をEnbleに 下記は、リストボックスの項目をEnalbeに だから、indexなんです。何番目をEnableにするか?ということです。

  • Trick--o--
  • ベストアンサー率20% (413/2034)
回答No.2

void Enable( int nIndex, BOOL bEnabled = TRUE ); リスト中のnIndex番目の項目を有効/無効にする。という関数です。 使い方が違います。 hm. IDC_CHECK1は「絶対パス」"C:\Program Files\Applocation\SubFlder\prog.exe" nIndexは「相対パス」"..\SubFolder\prog.txt" だと思ってください。 「相対パス」しか受け付けないところに「絶対パス」を入れても動きません。 …時間なくて確認してないが、で、いい筈。

  • takoashi
  • ベストアンサー率39% (21/53)
回答No.1

CCheckListBox* ckBox; Warningのとおり割り当てられてない。 CCheckListBox* ckBox=GetDlgItem(IDC_CHECK1);

Passerby01
質問者

補足

ありがとうございます。思いっきり忘れてました。 ところで、それでもなお「有効」になりません。 pCkBox=(CCheckListBox*)GetDlgItem(IDC_CHECK1); pCkBox->EnableWindow(true); だとOKでした。 なぜ、ckBox->Enable(IDC_CHECK1,true);がいけないのかが解らないです。

関連するQ&A

専門家に質問してみよう