СОЗДАНИЕ И ИСПОЛЬЗОВАНИЕ РЕСУРСОВ В 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;

- таблица из двух строк, используемых для вывода в заголовки окон. Набрать в редакторе ресурсов;

- меню (главное с подменю), которое может использоваться как в главном, так и временном окне согласно варианту задания.

 

       Указания по построению оконных функций:

       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-приложения типа "A simple Win32 application".

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).


ВАРИАНТЫ ЗАДАНИЙ:

 

№ вар Стиль окна Используемое меню Выводимый в окно объект Выполняемые с объектом действия Вызываемый стандартный диалог и изменяемый параметр

1

Главное окно Меню из файла ресурсов Битовый образ Перемещается по периметру окна против часовой стрелки с шагом 30 пикселей с интервалом 0,5 сек

Вызывается стандартное диалоговое окно Color для изменения цвета фона окна

Временное окно Динамически созданное меню Квадрат Перемещается слева-направо и наоборот с шагом 20 пикселей с интервалом 0,4 сек

2

Главное окно Меню из файла ресурсов Текстовая строка Перемещается по диагонали сверху-вниз и наоборот с шагом 40,30 пикселей с интервалом 0,5 сек

Вызывается стандартное диалоговое окно Font для изменения размера и стиля шрифта текста

Временное окно Всплывающее меню Битовый образ Перемещается сверху-вниз и наоборот с шагом 10 пикселей с интервалом 0,2 сек

3

Главное окно Динамически созданное меню Сектор эллипса Перемещается по боковой диагонали снизу-вверх и наоборот с шагом 20,15 пикселей с интервалом 0,3 сек

Вызывается стандартное диалоговое окно Color для изменения цвета заливки фигуры

Временное окно Меню из файла ресурсов Битовый образ Перемещается по окружности радиусом 130 пикселей по часовой стрелке на 15о с интервалом 0,5 сек

4

Главное окно Динамически созданное меню Текстовая строка Перемещается в окне случайным образом с интервалом 1 сек

Вызывается стандартное диалоговое окно Font для изменения размера и стиля шрифта текста

Временное окно Всплывающее меню Окружность Перемещается по углам окна по часовой стрелке с интервалом 0,7 сек

5

Главное окно Меню из файла ресурсов Сегмент эллипса Перемещается по окружности радиусом 180 пикселей против часовой стрелки на 10о с интервалом 0,4 сек

Вызывается стандартное диалоговое окно Color для изменения цвета заливки фигуры

Временное окно Динамически созданное меню Текстовая строка Перемещается в окне случайным образом с интервалом 1 сек

6

Главное окно Меню из файла ресурсов Битовый образ Перемещается слева-направо и наоборот с интервалом 0,5 сек

Вызывается стандартное диалоговое окно Color для изменения цвета фона окна

Временное окно Всплывающее меню Прямоуголь-ник Перемещается по углам окна против часовой стрелки с интервалом 1 сек

7

Главное окно Динамически созданное меню Прямоугольник с закруг. краями Перемещается сверху-вниз и наоборот с интервалом 1 сек

Вызывается стандартное диалоговое окно Color для изменения цвета заливки фигуры

Временное окно Меню из файла ресурсов Текстовая строка Перемещается по диагонали сверху-вниз и наоборот с интервалом 0,8 сек

8

Главное окно Динамически созданное меню Текстовая строка Перемещается по боковой диагонали снизу-вверх и наоборот с интервалом 0,5 сек

Вызывается стандартное диалоговое окно Font для изменения размера и стиля шрифта текста

Временное окно Всплывающее меню Битовый образ Перемещается по периметру окна по часовой стрелке с шагом 20 пикселей с интервалом 0,3 сек

9

Главное окно Меню из файла ресурсов Битовый образ Перемещается слева-направо и наоборот с интервалом 0,4 сек

Вызывается стандартное диалоговое окно Color для изменения цвета фона окна

Временное окно Динамически созданное меню Прямоугольная рамка Перемещается сверху-вниз и наоборот с интервалом 1 сек

10

Главное окно Меню из файла ресурсов Текстовая строка Перемещается по углам окна по часовой стрелке с интервалом 0,5 сек

Вызывается стандартное диалоговое окно Font для изменения размера и стиля шрифта текста

Временное окно Всплывающее меню Битовый образ Перемещается по углам окна против часовой стрелки с интервалом 1 сек

11

Главное окно Динамически созданное меню Битовый образ Перемещается по диагонали сверху-вниз и наоборот с интервалом 0,5 сек

Вызывается стандартное диалоговое окно Color для изменения цвета фона окна

Временное окно Меню из файла ресурсов Текстовая строка Перемещается по боковой диагонали снизу-вверх и наоборот с интервалом 1 сек

12

Главное окно Динамически созданное меню Текстовая строка Перемещается по периметру окна по часовой стрелке с шагом 20 пикселей с интервалом 0,3 сек

Вызывается стандартное диалоговое окно Font для изменения размера и стиля шрифта текста

Временное окно Всплывающее меню Эллипс Перемещается по периметру окна против часовой стрелки с шагом 30 пикселей с интервалом 0,5 сек

13

Главное окно Меню из файла ресурсов Окружность Перемещается слева-направо и наоборот с шагом 20 пикселей с интервалом 0,4 сек

Вызывается стандартное диалоговое окно Color для изменения цвета заливки фигуры

Временное окно Динамически созданное меню Битовый образ Перемещается сверху-вниз и наоборот с шагом 10 пикселей с интервалом 0,2 сек  

14

Главное окно Меню из файла ресурсов Текстовая строка Перемещается по диагонали сверху-вниз и наоборот с шагом 40 пикселей с интервалом 0,5 с

Вызывается стандартное диалоговое окно Font для изменения размера и стиля шрифта текста

Временное окно Всплывающее меню Прямоугольник Перемещается по боковой диагонали снизу-вверх и наоборот с шагом 20,15 пикселей с интервалом 0,3 с  

15

Главное окно Динамически созданное меню Пятиугольник Перемещается в окне случайным образом с интервалом 1 сек

Вызывается стандартное диалоговое окно Color для изменения цвета заливки фигуры

Временное окно Меню из файла ресурсов Битовый образ Перемещается по окружности радиусом 130 пикселей по часовой стрелке на 15о с интервалом 0,5 сек  

16

Главное окно Динамически созданное меню Текстовая строка Перемещается сверху-вниз и наоборот с интервалом 1 сек

Вызывается стандартное диалоговое окно Font для изменения размера и стиля шрифта текста

Временное окно Всплывающее меню Битовый образ Перемещается по окружности радиусом 180 пикселей против часовой стрелки на 10о с интервалом 0,4 сек  

17

Главное окно Меню из файла ресурсов Прямоугольник с закруглен. краями Перемещается по боковой диагонали снизу-вверх и наоборот с интервалом 0,8 сек

Вызывается стандартное диалоговое окно Color для изменения цвета заливки фигуры

Временное окно Динамически созданное меню Битовый образ Перемещается по периметру окна по часовой стрелке с шагом 20 пикселей с интервалом 0,3 сек

18

Главное окно Меню из файла ресурсов Текстовая строка Перемещается по периметру окна против часовой стрелки с шагом 30 пикселей с интервалом 0,5 сек

Вызывается стандартное диалоговое окно Font для изменения размера и стиля шрифта текста

Временное окно Всплывающее меню Квадрат Перемещается слева-направо и наоборот с шагом 20 пикселей с интервалом 0,4 сек

19

Главное окно Динамически созданное меню Сектор эллипса Перемещается сверху-вниз и наоборот с шагом 10 пикселей с интервалом 0,2 сек

Вызывается стандартное диалоговое окно Color для изменения цвета заливки фигуры

Временное окно Меню из файла ресурсов Битовый образ Перемещается по диагонали сверху-вниз и наоборот с шагом 40,30 пикселей с интервалом 0,5 сек

20

Главное окно Динамически созданное меню Текстовая строка Перемещается по боковой диагонали снизу-вверх и наоборот с шагом 20,15 пикселей с интервалом 0,3 сек

Вызывается стандартное диалоговое окно Font для изменения размера и стиля шрифта текста

Временное окно Всплывающее меню Сегмент эллипса Перемещается по окружности радиусом 130 пикселей по часовой стрелке на 15о с интервалом 0,5 сек

21

Главное окно Меню из файла ресурсов Битовый образ Перемещается по окружности радиусом 180 пикселей против часовой стрелки на 10о с интервалом 0,4 сек

Вызывается стандартное диалоговое окно Color для изменения цвета фона окна

Временное окно Динамически созданное меню Прямоугольная рамка Перемещается по диагонали сверху-вниз и наоборот с интервалом 0,6 сек

22

Главное окно Меню из файла ресурсов Текстовая строка Перемещается в окне случайным образом с интервалом 1 сек

Вызывается стандартное диалоговое окно Font для изменения размера и стиля шрифта текста

Временное окно Всплывающее меню Битовый образ Перемещается по углам окна по часовой стрелке с интервалом 0,5 сек

23

Главное окно Динамически созданное меню Эллипс Перемещается по углам окна против часовой стрелки с интервалом 0,7 сек

Вызывается стандартное диалоговое окно Color для изменения цвета заливки фигуры

Временное окно Меню из файла ресурсов Текстовая строка Перемещается слева-направо и наоборот с интервалом 0,3 сек

24

Главное окно Динамически созданное меню Битовый образ Перемещается по диагонали сверху-вниз и наоборот с интервалом 0,5 сек

Вызывается стандартное диалоговое окно Color для изменения цвета фона окна

Временное окно Всплывающее меню Окружность Перемещается сверху-вниз и наоборот с интервалом 1 сек

25

Главное окно Меню из файла ресурсов Прямоугольник Перемещается по боковой диагонали снизу-вверх и наоборот с интервалом 0,9 сек

Вызывается стандартное диалоговое окно Color для изменения цвета заливки фигуры

Временное окно Динамически созданное меню Текстовая строка Перемещается по периметру окна по часовой стрелке с шагом 20 пикселей с интервалом 0,3 сек

26

Главное окно Меню из файла ресурсов Битовый образ Перемещается по периметру окна против часовой стрелки с шагом 30 пикселей с интервалом 0,5 сек

Вызывается стандартное диалоговое окно Color для изменения цвета фона окна

Временное окно Всплывающее меню Текстовая строка Перемещается слева-направо и наоборот с шагом 20 пикселей с интервалом 0,4 сек  

27

Главное окно Динамически созданное меню Прямоугольник с закруг-ленными краями Перемещается по периметру окна против часовой стрелки с шагом 30 пикселей с интервалом 0,5 сек

Вызывается стандартное диалоговое окно Color для изменения цвета заливки фигуры

Временное окно Меню из файла ресурсов Текстовая строка Перемещается слева-направо и наоборот с шагом 20 пикселей с интервалом 0,4 сек  

28

Главное окно Динамически созданное меню Текстовая строка Перемещается сверху-вниз и наоборот с шагом 10 пикселей с интервалом 0,2 сек

Вызывается стандартное диалоговое окно Font для изменения размера и стиля шрифта текста

Временное окно Всплывающее меню Битовый образ Перемещается по диагонали сверху-вниз и наоборот с шагом 40,30 пикселей с интервалом 0,5 сек

29

Главное окно Меню из файла ресурсов Битовый образ Перемещается по боковой диагонали снизу-вверх и наоборот с шагом 20,15 пикселей с интервалом 0,3 сек

Вызывается стандартное диалоговое окно Color для изменения цвета фона окна

Временное окно Динамически созданное меню Квадрат Перемещается по окружности радиусом 130 пикселей по часовой стрелке на 15о с интервалом 0,5 сек

 


ЗАДАНИЕ № 4


Дата добавления: 2019-09-13; просмотров: 108; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!