0

私はVisual Studio 2010を使用しており、フォームに10個のチェックボックスがあり、m_CheckBox1、m_CheckBox2、m_CheckBox3 .... m_CheckBox10および編集ボックス(m_EditBox1 ...など)の名前を付けて、それぞれに変数を作成しました。

チェックボックスがループでチェックされているかどうかを確認したいのですが、編集ボックスの値が必要なものではない場合、メッセージボックスエラーが表示されます。値がOKの場合は、次のチェックボックスと編集ボックスに移動します。次のチェックボックスに移動するにはどうすればよいですか

    for (i=1;i < 11 ;i++)
         {
           is_checked = m_Checkboxi.GetCheck();
            if is_checked==1
              {do sth. with m_EditBox(i)}
            else
             do sth.
        }

ありがとう

4

1 に答える 1

1

これらの 10 個の変数を取り除き、配列に入れます。

CButton m_CheckBox[10];

また、必要に応じて resource.h ファイルを編集して、10 個の ID を連続させます。ループで配列を使用するには、DoDataExchange の DDX_Control 呼び出しを置き換える必要があります。

CDialog::DoDataExchange(pDX);
for (int i = 0; i < 10; i++)
    DDX_Control(pDX, IDC_CHECK1 + i, m_CheckBox[i]);
于 2013-10-30T16:40:55.813 に答える