Лабораторная работа №5 по VisualC++ 2005
" Диалоговое окно в качестве главного "
Составил доц. Авраменко В.В.
1 Постановка задачи
Составить программу, при запуске которой должно появиться диалоговое окно. В нем, кроме кнопок Ok и Cancel, должна быть стартовая кнопка с надписью «Пуск» и текстовое окно. При нажатии на стартовую кнопку в текстовом окне должна появиться желаемая строка символов, например, «Будьмо!».
2 Общие указания
Иногда программа содержит много управляющих элементов, с которыми пользователь должен работать прямо из главного окна. В этом случае удобно назначить главным окном программы диалоговое окно. Для этого необходимо проделать ряд действий.
1)
Start Page.
Create:Project.
Выбрать тип проекта (Project types) MFC, шаблон- MFC Application,
Name- diamain.
2) В окне Application Type выбрать Dialog based и снять флажок Use Unicode libraries. Щёлкнуть на Finish.
3) Создать диалоговое окно. Для этого выбрать вкладку Resource View. Раскрыть папку Dialog, щелкнуть по автоматически созданному идентификатору IDD_DIAMAIN_DIALOG. Появится диалоговое окно с кнопками Ok и Cancel.
4) Разместить в диалоговом окне кнопку (button1) . Поменять её надпись на «Пуск ». Имя кнопки по умолчанию IDC_BUTTON1 (см. properties строка ID ).
5) Разместить в диалоговом окне текстовое окно (ab| Edit Control). Имя по умолчанию IDC_EDIT1.
6) Для класса CdiamainDlg создадим элемент данных, который должен быть связан с текстовым окном IDC_EDIT1. Для этого нужно выделить текстовое окно, вызвать контекстное меню и выбрать в нем
Add Variable. В появившемся окне ввести элемент данных m_edit1 типа CEdit с доступом private .
7) Создать обработчик (точнее его заготовку )для кнопки «Пуск». Для этого её нужно выделить, вызвать контекстное меню и выбрать
Add Event Handler. В появившемся окне тип сообщения (Message type) выбрать BN_CLICKED, а в списке классов (Class List) – Cdiamain. Имя обработчика устанавливается по умолчанию OnBnClickedButton1. Щелкнуть по кнопкеAdd and Edit.
Обработчик можно создать и более простым способом. Для этого достаточно дважды щелкнуть по выбранной кнопке «Пуск». Однако так можно поступать, если нет необходимости выбирать класс из предъявляемого списка (в данном случае класс один- CdiamainDlg) и не нужно самому устанавливать имя обработчика.
8) В полученную таким образом заготовку обработчика нужно добавить оператор установки строки символов в текстовое окно, связанное с элементом данных v_edit1 класса CdiamainDlg. Прототип функции, которая позволяет это сделать имеет вид
void CWnd::SetWindowTextA(LPCTSTR lpszString); Ниже приводится текст обработчика.
void CdiamainDlg::OnBnClickedButton1()
{
m_edit1.SetWindowTextA("Будьмо!");
// TODO: Add your control notification handler code here
}
Программа готовая. После её запуска и нажатия кнопки «Пуск», как и требовалось, в текстовом окне появится «Будьмо!».
Следует еще раз подчеркнуть, что в режиме, когда диалоговое окно является главным (Dialog based), нет классов «Документ» и «Вид». Естественно, нет и функции OnDraw(). потому взвод в диалоговое окно запрограммирован непосредственно в обработчике OnBnClickedButton1().
3 Контрольные вопросы
1 Как сделать диалоговое окно главным?
2 Как создать диалоговое окно и установить необходимые управляющие элементы?
3 Как создать обработчик нажатия стартовой кнопки ?
4 Назвать идентификаторы по умолчанию для установленных управляющих элементов.
5 Как добавить в класс CdialogtabulDlg элементы данных, соответствующие управляющим элементам?
6 Как осуществляется вывод в обработчике OnBnClickedButton1()?
Список литературы
1 Айвор Хортон VISUAL C++ 2005 Базовый курс, «Диалектика», Москва*Санкт-Петербург*Киев , 2007г.
2 Сергеев А.П., Терен А.Н. Программирование в VISUAL C++ 2005 «Диалектика», Москва*Санкт-Петербург*Киев , 2006г.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.