Лабораторная работа №3. Элементы управления радиокнопки (Radio Button) и переключатели (Check Box.)

Цель лабораторной работы: Изучить принципы работы элементов управления: радиокнопок (Radio Button) и переключателей (Check Box), позволяющих устанавливать тот или иной режим работы.

Элементы управления Radio Button и Check Box

Элемент Check Box организует кнопку независимого переключателя, с помощью которой пользователь может указать свое решение типа - да/нет. В программе состояние кнопки может быть связано со значением булевской переменной, которая проверяется с помощью оператора if.

Элемент Radio Buttonорганизует группу кнопок - зависимых переключателей. При нажатии одной из кнопок группы все остальные кнопки отключаются. В программе элемент Radio Button связывается с переменной типа int, при этом в программу будет передаваться номер включенной кнопки, который анализируется с помощью оператора switсh или if. Номер первой кнопки равен 0, второй 1 и т.д. Но для этого нужно в тексте программы найти объявлении привязанной к этим кнопкам переменной и задать ее нулевое начальное значение, так как по умолчанию система программирования установит для нее значение –1.

Пример реализации программы

Задание: В поля ввода вводятся 2 целых числа, «Радиокнопка» выбирает действие: или суммирование или разность. «Переключатель» при не активности устанавливает вывод в одну строку при многократном выполнении приложения, а при его активизации результаты выводятся списком. Интерфейс программы приведен на рисунке 1.

 
  Лабораторная работа №3. Элементы управления радиокнопки (Radio Button) и переключатели (Check Box.) - student2.ru

Для решения задачи необходимо сделать следующие действия:

1) Создать при помощи MFCAppWizard(exe) новый проект (предварительно выбрав путь и имя – например Lab2) типа Dialog based.

2) Используя панель Controls, нанести на диалоговую панель 3 элемента типа Edit Box, 4 – Static Text, 1 – Button, 2- Radio Button, 1 – Check Box и установить нужные свойства и надписи (для Radio Button с идентификатором IDC_RADIO1 нужно установить свойство Group).

3) При помощи ClassWizard через закладку Member Variables связать поле Edit1 с переменной m_a тип: int, Edit2 - с m_b тип: int, Edit3 - с m_c тип: СString. Для Edit3 установить в закладке свойств Styles: свойство Multiline.

4) При помощи ClassWizard через закладку Member Variables связать идентификатор «переключателя» IDC_CHECK1 с переменной m_s тип: BOOL, а «радиокнопки IDC_RADIO1 с переменной m_r тип: int. Кроме того, в самом начале метода BOOL Clab2Dlg::OnInitDialog() нужно установить значение переменной m_r в 0 т.е. m_r=0;

5) Теперь необходимо активировать кнопку «Выполнить». Для этого: выполнить щелчок правой клавишей мыши в любом месте диалоговой панели и в меню выбрать ClassWizard, выбрать закладку Message Maps, связать идентификатор IDC_Button1 с событием BN_CLICKED (один щелчок на кнопке), и добавить обработчик на данное событие: последовательно Add Function/OK/ Edit Code, среда добавит в конец файла Lab2Dlg.cpp пустой обработчик:

void Clab2Dlg::OnButton1()

{

// TODO: Add your control notification handler code here

}

и как и ранее вместо этой фразы:

добавляем код решение поставленной задачи:

{

int r; CString str;

UpdateData(TRUE);

if (m_r==0) r=m_a+m_b; // если выбрана первая радиокнопка - // «суммирование»

if (m_r==1) r=m_a-m_b; // если выбрана вторая

// радиокнопка –

// «вычитание»

if (m_s)

// если переключатель активен – вывод списком

{

str.Format("c=%d%c%c",r,13,10);

m_c=m_c+str;

}

else

// если переключатель не активен – вывод в одну строку

m_c.Format("c=%d",r);

UpdateData(FALSE);

}

Задание к лабораторной работе

В индивидуальном задании составить программу для вычисления составной функции в соответствии со своим вариантом. Требуется самостоятельно выбрать необходимое количество исходных данных для того, чтобы в программе выполнялись все возможные ветви алгоритма. Перед выводом полученного результата программа должна сообщать о ветви, для которой он получен. В качестве f(x) использовать по выбору: «радиокнопками» функции cos(x), sin(x), tg(x). Программа должна через «переключатели» запоминать или не запоминать min и max найденные значения. Вариант интерфейса приведен на рисунке 2.

 
  Лабораторная работа №3. Элементы управления радиокнопки (Radio Button) и переключатели (Check Box.) - student2.ru

Индивидуальные задания

Таблица 1. – Индивидуальные задания

    Лабораторная работа №3. Элементы управления радиокнопки (Radio Button) и переключатели (Check Box.) - student2.ru   Лабораторная работа №3. Элементы управления радиокнопки (Radio Button) и переключатели (Check Box.) - student2.ru
    Лабораторная работа №3. Элементы управления радиокнопки (Radio Button) и переключатели (Check Box.) - student2.ru     Лабораторная работа №3. Элементы управления радиокнопки (Radio Button) и переключатели (Check Box.) - student2.ru
    Лабораторная работа №3. Элементы управления радиокнопки (Radio Button) и переключатели (Check Box.) - student2.ru     Лабораторная работа №3. Элементы управления радиокнопки (Radio Button) и переключатели (Check Box.) - student2.ru
    Лабораторная работа №3. Элементы управления радиокнопки (Radio Button) и переключатели (Check Box.) - student2.ru     Лабораторная работа №3. Элементы управления радиокнопки (Radio Button) и переключатели (Check Box.) - student2.ru
    Лабораторная работа №3. Элементы управления радиокнопки (Radio Button) и переключатели (Check Box.) - student2.ru     Лабораторная работа №3. Элементы управления радиокнопки (Radio Button) и переключатели (Check Box.) - student2.ru
  Лабораторная работа №3. Элементы управления радиокнопки (Radio Button) и переключатели (Check Box.) - student2.ru   Лабораторная работа №3. Элементы управления радиокнопки (Radio Button) и переключатели (Check Box.) - student2.ru
  Лабораторная работа №3. Элементы управления радиокнопки (Radio Button) и переключатели (Check Box.) - student2.ru   Лабораторная работа №3. Элементы управления радиокнопки (Radio Button) и переключатели (Check Box.) - student2.ru

Контрольные вопросы:

1. В чем заключается принцип работы элементов управления - радиокнопок (Radio Button)?

2. В чем заключается принцип работы элементов управления - переключателей (Check Box)?

3. Для чего служит мастер ClassWizard?


Наши рекомендации