
- •Требования к оформлению отчетов по лабораторным работам по ос
- •Лабораторная работа № 1 разработка windows-программ для выполнения операций с окнами различных стилей
- •Методические указания:
- •Варианты заданий:
- •Лабораторная работа № 2 разработка windows-программ для вывода текста и графики в окна. Обработка сообщений клавиатуры и мыши
- •Методические указания:
- •Варианты заданий:
- •Лабораторная работа № 3 создание и использование ресурсов в windows-программах. Организация меню и диалога. Работа с таймерами.
- •Методические указания:
- •Варианты заданий:
Лабораторная работа № 3 создание и использование ресурсов в windows-программах. Организация меню и диалога. Работа с таймерами.
Цель работы. Изучение способов создания и использования ресурсов в приложениях Windows, использования меню, диалоговых панелей и элементов управления для организации интерфейса с пользователем, применения таймеров для задания временных интервалов.
Методические указания:
Задание. Для приведенных ниже вариантов заданий составить Windows-программу в среде Visual С++, в которой производится создание 2 окон: главного окна приложения и временного. Каждое окно имеет свое меню (главное, динамически созданное или плавающее). В рабочей области каждого окна выводится заданный объект (текст, графическая фигура, битовый образ), который с заданной периодичностью перемещается в окне. При выборе пунктов меню в программе должны выполняться действия по изменению размеров, цвета, периодичности выводимого объекта согласно варианту задания.
Требования к программе. В программе должно быть следующее:
- описана главная функция приложения WinMain, в которой регистрируются классы главного и временного окон, создаются и выводятся эти окна, организуется цикл обработки очереди сообщений приложения;
- главное окно приложения должно быть развернутым на весь экран, в заголовке поместить строку из файла ресурсов: Лабораторная работа №3 по ОС, студ. Фамилия И.О., группа <шифр>. Временное окно в заголовке должно содержать название его стиля, в виде строки из файла ресурсов;
- для всех окон приложения должны быть подключены необходимые ресурсы и описаны соответствующие оконные функции, обрабатывающие сообщения, посылаемые окнам. В этих функциях запрограммировать необходимые операции вывода в окна и другие действия, которые должны быть выполнены при получении сообщений от меню;
- при запуске приложения необходимо проверять наличие уже запущенного экземпляра данного приложения, выдавать об этом сообщение с помощью функции MessageBox с кнопками "Да", "Нет", по выбору пользователя продолжать или завершать работу.
Организация меню в программе:
- меню главного окна должно включать следующие пункты и подпункты: "Движение объекта" ("Остановить","Возобновить"), "Параметры объекта" ("Задать исходные","Изменить в диалоге"), "О программе", "Выход". При выборе пунктов "Остановить", "Возобновить" уничтожается или восстанавливается таймер. Для пунктов "Задать исходные", "Изменить в диалоге" восстанавливаются исходные или изменяются текущие значения параметров выводимого объекта. При выборе пункта "О программе", с помощью функции MessageBox выводится сообщение о назначении программы. Пункт "Выход" позволяет завершить программу;
- меню временного окна должно включать следующие пункты и подпункты: "Размеры объекта" ("Увеличить в 1,2 раза","Уменьшить в 1,2 раза","Задать исходные"), "Временной интервал" ("Увеличить в 1,5 раза "," Уменьшить в 1,5 раза ","Задать исходный"), "Закрыть окно". При выборе пунктов "Увеличить в 1,2 раза", "Уменьшить в 1,2 раза", "Задать исходные" соответствующим образом пересчитываются текущие размеры объекта или восстанавливаются исходные. Для пунктов "Увеличить в 1,5 раза ", " Уменьшить в 1,5 раза ", "Задать исходный" вначале уничтожается действующий таймер, а затем создается новый таймер с требуемым интервалом времени. Пункт "Закрыть окно" позволяет закрыть временное окно;
Файл ресурсов программы должен быть создан в редакторе ресурсов и включать описания следующих видов ресурсов:
- 2 пиктограммы, которые подключаются к заголовкам главного и временного окон вместо стандартных. В режиме поиска Windows найти файлы типа .ico и выбрать подходящие;
- 2 курсора, которые связываются с окнами и появляются, когда курсор находится в рабочей области этих окон. Выбрать файлы типа .cur из каталога c:\ Windows\Cursors;
- битовый образ для вывода в окно (если требуется по варианту задания). Выбрать файлы типа .bmp из каталога c:\ Windows;
- таблица из двух строк, используемых для вывода в заголовки окон. Набрать в редакторе ресурсов;
- меню (главное с подменю), которое может использоваться как в главном, так и временном окне согласно варианту задания;
- модальная диалоговая панель с элементами управления (2 обязательных кнопки "Сохранить", "Отменить"), используемая для изменения параметров выводимого объекта, которая появляется при выборе пунктов меню главного окна: "Параметры объекта" -> "Изменить в диалоге".
Указания по построению оконных функций:
1. Все параметры выводимого в окно объекта, которые будут определять цвет, размеры, временной интервал и др. в оконной функции можно объявить статическими.
2. Список сообщений, обязательных для обработки функцией окна: WM_CREATE, WM_SIZE, WM_PAINT, WM_COMMAND, WM_TIMER, WM_DESTROY. Остальные сообщения передать на обработку Windows.
3. При обработке сообщений: WM_CREATE - проинициализировать характеристики выводимого в окне объекта начальными значениями, WM_SIZE – получить размеры рабочей области окна (cx, cy).
4. Вывод объекта в окно и его перерисовку производить по сообщению WM_PAINT для текущих параметров этого объекта с использованием соответствующих функций GDI.
5. При обработке сообщений меню WM_COMMAND изменять требуемые характеристики выводимого объекта, объявить всю рабочую область как недействительную (функция InvalidateRect); послать окну сообщение о перерисовке (функция UpdateWindow).
Порядок выполнения работы:
1. Создать проект Windows-приложения.
2. В окне просмотра классов и файлов на вкладке FileView выбрать cpp-файл, затем в окне редактирования ввести исходный текст программы.
3. Создать файл с описанием ресурсов с использованием редактора ресурсов, для чего выполнить следующие действия:
- создать файл с одним ресурсом (например, пиктограммой): выбрать меню Insert -> пункт Resourse -> отметить тип ресурса Icon -> выбрать кнопку New -> загрузить или отредактировать изображение -> выбрать меню File -> выбрать пункт Save -> ввести имя нового файла resource.rc -> нажать кнопку Save.
- подключить файл ресурсов в проект приложения: выбрать меню Project -> пункт Add To Project -> пункт Files -> ввести имя файла resource.rc -> нажать кнопку OK.
- добавить в файл другие виды ресурсов: выбрать меню Insert -> пункт Resourse -> отметить необходимый тип ресурса -> выбрать кнопку New -> отредактировать ресурс -> сохранить изменения.
4. Cоздать исполняемый модуль приложения - трансляция, компоновка (последовательность действий: выбрать меню Build -> выбрать пункт Rebuild All);
5. Проверить результат работы приложения - запуск исполняемого модуля (последовательность действий: выбрать меню Build -> выбрать пункт Execute).