Зацикливайтесь на Check или EditBox

Я использую 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.
}

Спасибо

0

Решение

Избавьтесь от этих 10 переменных и поместите в массив:

CButton m_CheckBox [10];

Также отредактируйте файл resource.h при необходимости, чтобы сделать 10 идентификаторов подряд. Вам придется заменить вызовы DDX_Control в DoDataExchange, чтобы использовать массив в цикле:

CDialog::DoDataExchange(pDX);
for (int i = 0; i < 10; i++)
DDX_Control(pDX, IDC_CHECK1 + i, m_CheckBox[i]);
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector