Лабораторная работа №11 по VISUALC++ 2005
" Использование переключателей при программировании на C++ стандарта ISO/ANSI "
1 Постановка задачи
Создать приложение, в котором диалоговое окно принимается в качестве главного. Разместить в нем три переключателя и текстовое поле. Когда выбирается один из переключателей, в текстовом поле сообщается его номер .
2 Общие указания
Переключатели, в отличие от флажков, позволяют выбрать всего лишь один вариант из предложенного списка. В Windows они представлены в виде маленьких круглых кнопок, либо пустых, либо помеченных черной точкой. При щелчке переключатель, как и флажок, изменяет своё состояние на противоположное.
В отличие от флажков, переключатели объединяются в группы и работают совместно. В любой момент времени в группе может быть установлен лишь один из переключателей. При его выборе все остальные переключатели группы снимаются. Существуют два способа группировки переключателей:либо они располагаются внутри специального управляющего элемента (группового поля), либо просто помещаются в одно окно. В последнем случае все переключатели внутри окна работают вместе даже при отсутствии группового поля.
2.1 Последовательность действий при создании программы
1)
Start Page.
Create:Project.
Выбрать тип проекта (Project Types) MFC, шаблон- MFC Application,
Name- switches.
2) В окне Application Type выбрать Dialog based. Снять флажок Use Unicode Libraries. Щёлкнуть на Finish.
3) Выбрать вкладку Resource View (Просмотр ресурсов). Раскрыть папку Dialog . Дважды щелкнуть на IDD_SWITCHES _DIALOG. Появится диалоговое окно.
4) Из Toolbox разместить в окне три переключателя Radio Button и текстовое окно ab| Edit Control. Переключатели выровнять по горизонтали.
5) Связать переключатели с кодом программы, т.е. с обработчиками сообщений. Надо создать обработчик события для каждогопереключателя. С этой целью следует выделить переключатель, например, Radio1, вызвать контекстное меню и выбрать в нем Add Event Handler. В появившемся окне выбираем тип сообщения (Message type) BN_CLICKED а в списке классов (Class list) – CswitchesDlg. Обычно они выбраны по умолчанию. Также по умолчанию в строке Function handler name установлено имя функции- обработчика OnBnClickedRadio1. Остается нажать на кнопку Add and Edit.В файле switchesDlg.cpp появится заготовка для функции с указанным выше именем.
Точно так же следует создать обработчики для Radio2 и Radio3.
6) В класс CswitchesDlg необходимо добавить элемент данных, соответствующий текстовому окну. Для этого нужно выделить текстовое окно, вызвать контекстное меню и выбрать в нем Add Variable. Доступ сделать private. Тип CEdit уже установлен по умолчанию. Имя дадим m_edit1. То есть элементом данных класса CswitchesDlg является объект m_edit1 класса CEdit. С ним мы будем вызывать в обработчике метод SetWindowTextA(str) класса CEdit, который будет помещать в текстовое окно содержимое строки str типа CString.
7) Заполнить заготовки обработчиков.
void CswitchesDlg::OnBnClickedRadio1()
{
CString str="Перемикач №1";
m_edit1.SetWindowTextA(str);
// TODO: Add your control notification handler code here
}
void CswitchesDlg::OnBnClickedRadio2()
{
CString str="Перемикач №2";
m_edit1.SetWindowTextA(str);
// TODO: Add your control notification handler code here
}
void CswitchesDlg::OnBnClickedRadio3()
{
CString str="Перемикач №3";
m_edit1.SetWindowTextA(str);
// TODO: Add your control notification handler code here
}
Во всех трех обработчиках используется локальная переменная CString str, которая инициализируется определенным текстом и затем выводится в текстовое окно.
8) Нажатием Ctrl+F5 запускаем программу.
3 Контрольные вопросы
1Чем отличаетсяпереключатель от флажка?
2Как создать переключатель?
3 Как создать обработчик дляпереключателя?
4Зачем нужен элемент ab|Edit Control?
5 Зачем нужен элемент данных m_edit1, какого он типа и как его создать?
Список литературы
1 С. Холзнер Visual C++ 6 «Питер», Санкт-Петербург, Москва, Харьков, Минск, 2001г.
2 Айвор Хортон VISUAL C++ 2005 Базовый курс, «Диалектика», Москва*Санкт-Петербург*Киев , 2007г.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.