Диалоговое окно в качестве главного (Лабораторная работа № 5 по VisualC++ 2005)

Страницы работы

Содержание работы

Лабораторная работа №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г.

Похожие материалы

Информация о работе

Тип:
Методические указания и пособия
Размер файла:
36 Kb
Скачали:
0