0

我正在使用 Visual Studio 2010,我的表单上有 10 个复选框,并通过命名 m_CheckBox1、m_CheckBox2、m_CheckBox3 .... m_CheckBox10 以及编辑框(m_EditBox1 ... 等等)为每个复选框创建了变量。

我想检查复选框是否在循环中选中,如果不需要编辑框值,将显示消息框错误。如果值正常,则移动到下一个复选框和编辑框。我怎样才能移动到下一个复选框,就像

    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 个变量并放入一个数组中:

C按钮 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 回答