Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
PAGE 1
Лабораторная работа № 8
Диалоговые программы на основе библиотеки классов MFC
Цель. Получить практические навыки создания диалоговых приложений среджствами библиотеки классов MFC
При выполнении работы используйте книгу Секунов Н.Ю. "Самоучитель Visual C++. NET".СПб.: БХВ-Петербург,2002, с. 13-17, 55-82.
Ознакомительный пример создания диалогового приложения
1. Запустите среду программирования Visual C++
2. Запустите команду меню File->New->Project. Перед Вами открывается диалоговое окно New Project
2.1. В окне Project выберите Visual C++ Projects.
2.2. В окне Templates выберите MFC Application
2.3. В окне Name напишите имя проекта Lr1_1
2.4. Нажмите ОК
3. Перед Вами открывается мастер MFC Application Wizard.
3.1. Перейдите к разделу Application Type. Выберите тип приложения (Application Type) Dialog Based, язык ресурсов (Resource Language) - English.
3.2. Нажмите кнопку Finish
4. С помощью команды меню View->Resource View окройте окно Resource View. раскройте папку Lr1_2, внутри нее папку Lr1_2.rc, внутри нее папку Dialog. Выделите идентификатор IDD_LAB1_2_DIALOG [English U.S.] и двойным щелчком мыши откройте форму диалога.
5. Внесите следующие изменения в форме диалога
5.1. Удалите статический текст TODO: Place dialog controls here.
5.2. С помощью команды меню View->ToolBox откройте палитру органов управления (Инструментарий)
5.3. Щелкните левой кнопкой мыши на заготовке диалогового окна. Содержимое окна Properties (Свойства) изменится.
5.4. В текстовое поле строки Caption (Заголовок) раздела Appearance (Внешний вид) иерархического списка свойств введите текст "Тестовое диалоговое приложение".
5.5. Поместите в форму диалога три элемента текстовой надписи Static Text в ряд слева направо. Выделите первый элемент. В окне Properties в поле Caption введите слово Цена. Внутри элемента появится текст Цена.
5.6. Аналогично в другие два поля введите текст количество и стоимость.
5.7. Поместите под надписью Цена редактируемое текстовое поле Edit Control
5.8. Справа от окна редактирования, находящегося под надписью цена, поместите инкрементный регулятор Spin Control.
5.9. Поместите под надписями Количество и Стоимость окна редактирования Edit Control.
5.10. Между окнами редактирования, находящимися под надписями Количество и Стоимость поместите орган управления кнопку Button.
5.11. Выделите редактируемое текстовое поле под надписью Цена и установите следующие свойства в иерархическом списке свойств в окне Properites:
Number True, ID ID_PRICE
5.12. Выделите инкрементный регулятор и установите следующие свойства в окне Properties:
Alignment Right Align, Wrap True, No Thousands True, SetBuddyInteger True, ID IDC_SPIN_PRICE.
5.13. Поместите под надписями Количество и Стоимость текстовые окна. В окне Properties для текстового окна под надписью количество установите значение свойства Number True, ID ID_NUM, для текстового окна под надписью стоимость значение свойства Number True, ID ID_COST.
5.14. Поместите между окнами редактирования под надписями количество и стоимость кнопку Button. В окне Properties в поле Caption напишите знак =, в поле ID ID_EQUAL.
5.15. Выделите текстовое окно редактирования для ввода цены и с помощью контекстного меню вызовите команду Add Variable для вызова мастера добавления переменных в класс диалога Add Member Variable Wizard. В поле Variable name введите имя m_Price. Нажмите кнопку Finish.
5.16. Аналогично для окон редактирования для ввода количества и стоимости добавьте переменные соответственно m_Num и m_Cost.
6. Теперь необходимо назначить для каждого воздействия на органы управления в диалоговом окне функции обработчики
6.1. Выделите кнопку со знаком =. В окне Properties нажмите кнопку Control Events (Обработка событий), на которой нарисована молния. Выделите идентификатор BN_CLICKED однократного нажатия левой кнопки мыши. Из выпадающего списка справа от идентификатора выберите имя единственного обработчика данного события OnClickedEqual. В файле Lab1_2Dlg.cpp появится функция-обработчик события
void CLab1_2Dlg::OnBnClickedEqual()
{
// TODO: Add your control notification handler code here
}
6.2. После внесения изменения текст обработчика должен выглядеть следующим образом
void CLab1_2Dlg::OnBnClickedEqual()
{
// TODO: Add your control notification handler code here
UINT iCost;
iCost=GetDlgItemInt(IDC_PRICE)*GetDlgItemInt(IDC_NUM);
SetDlgItemInt(IDC_COST, iCost);
}
7. Запустите приложение. Введите в окна Цена и Количество числа 2 и 3 и нажмите на кнопку =.
8. Добавьте в форму диалога орган управления флажок CheckBox с надписью «Льгота 50%».
9. Добавьте в класс диалога переменную, связанную с флажком m_Bargain.
9. Добавьте обработчик события при нажатии левой кнопки мыши на флажок CheckBox.
10. Измените обработчик void CLab1_2Dlg::OnBnClickedEqual()таким образом, чтобы при установленном флажке расчет стоимости проезда рассчитывался с учетом льготы.
Создание диалогового приложэения согласно индивидуальному варианту
1. Создайте при помощи MFC AppWizard диалоговое приложение
2. В диалоговое окно следует добавить элементы управления, указанные в индивидуальном варианте (таблица 10.1), при помощи редактора ресурсов.
3. При помощи мастера добавления переменных Add Member Variable Wizard добавьте переменную для каждого органа управления.
4. Назначте каждому элементу правления определенные действия в соответствии с индивидуальным вариантом задания.
Таблица 10.1. Индивидцальные варианты заданий
№ Вар |
Вариант задания |
1 |
Элементы управления Командные кнопки Ok, Cancel, Copy Окна редактирования: первое с текстом по умолчанию Default Text1, второе с текстом по умолчанию Default Text2 Действия По нажатию кнопки Ок - выдача окна сообщения с содержимым текста второго окна По нажатию кнопки Copy копирование текста из первого окна во второе поверх старого содержимого |
2 |
Элементы управления Командные кнопки Ok, Cancel, Revert Окно редактирования: с текстом по умолчанию Default Text, Действия По нажатию кнопки Ок - выдача окна сообщения с содержимым текста окна По нажатию кнопки Revert Отображение текста в обратном порядке |
3 |
Элементы управления Командные кнопки Ok, Cancel, Swap Окна редактирования: первое с текстом по умолчанию Default Text1, второе с текстом по умолчанию Default Text2 Действия По нажатию кнопки Ок - выдача окна сообщения с содержимым текста первого и второго окна По нажатию кнопки Swap Обмен содержимым первого и второго окна |
4 |
Элементы управления Командные кнопки Ok, Cancel, Length Окно редактирования: с текстом по умолчанию Default Text, Действия По нажатию кнопки Ок - выдача окна сообщения с содержимым текста окна По нажатию кнопки Length Отображение длины текста окна в окне сообщения |
5 |
Элементы управления Кнопки Ok, Cancel, Add Окна редактирования: первое с текстом по умолчанию Default Text1, второе с текстом по умолчанию Default Text2 Действия По нажатию кнопки Ок - выдача окна сообщения с общим количеством символов в первом и втором окне По нажатию кнопки Add добавление текста из первого окна в конец текста во втором |
6 |
Элементы управления Кнопки Ok, Cancel, Copy Окна редактирования: первое с текстом по умолчанию Default Text1, второе с текстом по умолчанию Default Text2 Действия По нажатию кнопки Ок - выдача окна сообщения с содержимым текста второго окна По нажатию кнопки Copy копирование текста и первого окна во второе |
7 |
Элементы управления Командные кнопки Ok, Cancel, Copy Окна редактирования: первое с текстом по умолчанию Default Text1, второе с текстом по умолчанию Default Text2 Действия По нажатию кнопки Ок - выдача окна сообщения с содержимым текста второго окна По нажатию кнопки Copy копирование текста из первого окна во второе поверх старого содержимого |
8 |
Элементы управления Командные кнопки Ok, Cancel, Revert Окно редактирования: с текстом по умолчанию Default Text, Действия По нажатию кнопки Ок - выдача окна сообщения с содержимым текста окна По нажатию кнопки Revert Отображение текста в обратном порядке |
Содержание отчета
1. Титульный лист
2. Цель работы
3. Внешний вид созданного диалогового приложения.
4. Исходные тексты файлов созданного приложения
Контрольные вопросы
1. Поясните основной принцип работы графического Windows приложение.
2. Поясните сущность концепции «Документ-представление»
3. Назовите основные параметры Windows приложения, которые можно установить с помощью мастера MFC Application Wizard.
4. Назовите основные виды Windows-приложений и кратко поясните их особенности
5. Что такое графический ресурс?
6 Что такое событие?
7 Назовите основные виды органов управления, используемые в диалогвовых приложениях
8 Что такое обработчик сообщений? Приведите примеры сообщений.