3028

Вывод графики в окно, Работа с таймером, ресурсами

Лабораторная работа

Информатика, кибернетика и программирование

Вывод графики в окно, Работа с таймером, ресурсами Задание: Обеспечить в новой версии приложения прорисовку изображения каждые N секунд с новыми (случайными) характеристиками местоположения и цвета изображения. Добавить в приложение следующие р...

Русский

2012-10-23

44 KB

10 чел.

Вывод графики в окно, Работа с таймером, ресурсами

Задание: Обеспечить в новой версии приложения прорисовку изображения каждые N секунд с новыми (случайными) характеристиками местоположения и цвета изображения.

Добавить в приложение следующие ресурсы: строковый ресурс, пиктограмму, курсор мыши, акселераторы. Строковый ресурс должен использоваться в качестве заголовка окна приложения; пиктограмма - выводиться в левом верхнем углу окна приложения; курсор мыши - использоваться для визуализации указателя мыши при его прохождении по окну приложения; акселераторы клавиш управления курсором "вверх" и "вниз" - для уменьшения и увеличения интервала между сообщениями WM_TIMER.

Список сообщений, обязательных для обработки функцией главного окна: WM_PAINT, WM_DESTROY, WM_CREATE, WM_LBUTTONDOWN, WM_RBUTTONDOWN, WM_KEYDOWN, WM_TIMER, WM_COMMAND. Остальные сообщения передать на обработку стандартной оконной функции.

Методические указания

В обработке сообщения WM_PAINT удалить фрагмент, отвечающий за присвоение характеристикам изображения случайных значений. Оcтавить только обработку следующего вида
получить контекст отображения;
вызывать функцию отрисовки изображения
c его текущими характеристиками;
освободить контекст отображения.

При обработки сообщения WM_CREATE, кроме инициализации характеристик размера изображения, еще и инициализацию характеристики вида, местоположения и цвета изображения постоянными значениями. Создать исполняемый модуль и проверить его работу - она должна отличаться от работы предыдущей версии приложения только тем, что изображение всегда выводиться с постоянными характеристиками местоположения и цвета, размер же изображения можно менять при помощи клавиатуры и мыши.

Добавить возможность периодически получать сообщение о том, что заданный интервал времени (например, 5 сек) истек и приложение может выполнить какое-либо периодическое действие. Для этого сначала следует в оконной функции объявить статические целые переменные nTimer (номер таймера) и dTimer (интервал между сообщениями). При обработке сообщения WM_CREATE присвоить переменной nTimer любое целое положительное число, переменной dTimer присвоить значение 5000 (интервал в миллисекундах), и затем создать таймер с номером nTimer и интервалом dTimer (функция SetTimer).

Перед завершением работы приложения, при обработке сообщения WM_DESTROY следует удалить созданный таймер (функция KillTimer).

При обработке сообщения WM_TIMER проверить, от какого таймера (если их приложением установлено несколько) пришло сообщение.

Если сообщение пришло от таймера с номером nTimer, установленного для изменения местоположения и цвета изображения, то выполнить следующие периодически выполняемые действия:
присвоить:
 характеристикам
вида изображения (если они есть)- случайные значения;
 характеристикам
местоположения - случайные значения в пределах границ окна;
 характеристике
цвета - случайное значение цвета;
объявить всю рабочую область как недействительную (функция
InvalidateRect);
послать окну сообщение о перерисовке (функция
UpdateWindow).

Для создания файла ресурса с одним ресурсом (например, пиктограммой) следует выполнить следующий действия: выбрать меню Insert -> выбрать пункт Resourse -> отметить тип ресурса Icon -> выбрать кнопку New -> отредактировать изображение -> выбрать меню File -> выбрать пункт Save -> ввести имя нового файла resource.rc -> выбрать кнопку Save.

Одновременно с созданием файла ресурсов создается включаемый файл resource.h, содержащий определения числовых идентификаторов, используемых в файле ресурсов (по умолчанию созданной пиктограмме присваивается идентификатор
ID_ICON1, идентификаторы ресурсов можно впоследствии изменять). Этот файл необходимо включить в файл с исходным текстом приложения директивой #include, а файл resource.rc - в проект приложения.

Для подключения файла ресурсов в проект приложения следует выполнить следующие действия: выбрать меню Project -> выбрать пункт Add To Project -> выбрать пункт Files -> ввести имя файла resource.rc -> выбрать кнопку OK.

В результате в рабочем пространстве помимо закладки
FileView, позволяющей просматривать и редактировать исходные файлы проекта, появляется закладка ResourceView, при помощи которой можно просмотреть и изменить ресурсы приложения.

Для того чтобы добавить какой-либо другой ресурс, необходимо проделать практически ту же самую последовательность действий: : выбрать меню Insert -> выбрать пункт Resourse -> отметить необходимый тип ресурса  -> выбрать кнопку New -> отредактировать ресурс -> сохранить изменения.

Аналогично созданию пиктограммы с идентификатором
IDI_ICON1, создать курсор c идентификатором IDC_CURSOR1, строковый ресурс для заголовка с идентификатором IDS_STRING, таблицу акселераторов IDR_ACCELERATORS1 с акселераторами клавиш управления курсором "вверх" и "вниз" (их идентификаторы ID_FAST и ID_SLOW соответственно).

Для того чтобы в качестве пиктограммы приложения использовалась пиктограмма IDI_ICON1 из ресурсов приложения, ее следует загрузить функцией LoadIcon, полученный же дескриптор пиктограммы присвоить полю hIcon структуры типа WNDCLASS при регистрации класса окна приложения.

Для того чтобы в качестве курсора мыши при прохождении над окном приложения использовался курсор IDC_CURSOR1 из ресурсов приложения, его следует загрузить функцией LoadCursor, полученный же дескриптор курсора присвоить полю hCursor структуры типа WNDCLASS при регистрации класса окна приложения.

Для того чтобы в качестве заголовка окна приложения использовалась строка IDS_STRING1 из ресурсов приложения, ее следует загрузить функцией LoadString в символьный массив Title, а затем использовать Title в качестве заголовка при создании окна вызовом функцией CreateWindow.

Для того чтобы приложения могло обрабатывать сообщения от определенных в ресурсах акселераторов, сначала в функции WinMain следует загрузить таблицу акселераторов IDR_ACCELERATORS1 с помощью функции LoadAccelerators. Затем добавить в оконную функцию обработку сообщения WM_COMMAND.

При обработке сообщения WM_COMMAND проверить, от акселератора ли пришло сообщение. Если да, то выполнить следующую обработку сообщений от акселераторов ID_FAST и ID_SLOW:
уничтожить таймер с номером
nTimer;
в зависимости от акселератора уменьшить или увеличить значение
dTimer на 10%;
создать новый таймер с номером
nTimer и интервалом dTimer.

Создать исполняемый модуль и проверить его работу. Приложение должно использовать ресурсы приложения и не только давать возможность пользователю изменять размер при помощи клавиатуры и мыши, но и позволять регулировать частоту появления сообщений от таймера для получения новых случайных значений характеристик местоположения и цвета изображения.


 

А также другие работы, которые могут Вас заинтересовать

31490. Значення і теоретичні основи фінансового аналізу 166.5 KB
  Значення і теоретичні основи фінансового аналізу Лекція 1 2 год. Мета заняття: ознайомити студентів з питаннями необхідності та сутності фінансового аналізу; видами фінансового аналізу; привчати творчо оперувати набутими знаннями розвивати логічне мислення студентів. ПЛАН Необхідність та сутність фінансового аналізу. Предмет завдання напрями і принципи фінансового аналізу.
31491. Значення і теоретичні основи фінансового аналізу. Моделі фінансового аналізу 245.5 KB
  Значення і теоретичні основи фінансового аналізу Лекція 2 2 год. Мета заняття: ознайомити студентів з методами прийомами моделями та факторами фінансового аналізу; привчати творчо оперувати набутими знаннями розвивати логічне мислення студентів Методи і моделі фінансового аналізу. Прийоми фінансового аналізу. Суб’єкти і користувачі фінансового аналізу.
31492. Інформаційне забезпечення фінансового аналізу 243.5 KB
  Для того щоб мати чітку уяву про фінансовий стан підприємства потрібно вміти правильно розподілити ресурси виявити напрями які потребують розвитку визначити головні питання котрі потребують корегування. Чи знаєте Ви який фінансовий стан підприємства Знаходиться воно в стадії підйому чи скорочення своєї діяльності Скільки це буде продовжуватись Наскільки ефективно працює підприємство та що можна зробити для підвищення рентабельності Ці відповіді можна знайти коли Ви розберетесь у фінансових звітах. Нормативнодовідкова інформація...
31493. Інструменти виділення, канали і маски. Фотомонтажі 891.41 KB
  Photoshop має в своєму розпорядженні багатий набір засобів виділення серед яких інструменти виділення Mrquee Область Lsso Лассо Mgic Wnd Чарівна паличка; інструменти виділення контурів Pth Tools; спеціальна команда Color Rnge Колірний ряд; особливий режим виділення Quick Msk Швидка маска. Виділення і трансформація областей У Photoshop велика частина операцій редагування діють лише в межах виділеної області. Приклад обробки виділення кистю Для виділення областей правильної геометричної форми є чотири інструменти які зібрані...
31494. Інструменти кольорової коррекции і ретушування 734.31 KB
  Інструменти з групи Освітлювач У цьому вікні: Dodge Освітлювач для освітлення областей і збільшення яскравості зображення; Burn Затемнювач для затемнення областей і зменшення яскравості зображення; Sponge Губка міняє насиченість контраст зображення. Інструменти з групи Розмиття У цьому вікні: Blur Розмиття пом'якшує кордони між об'єктами; Shrpen Різкість збільшує чіткість зображення; Finger Палець розмазує розтушовує колір. Перший варіант надає можливість створення точних копій елементів зображення а другий колірних зразків...
31495. Шрифт і текст 1001.83 KB
  Різниця та ж що і між точковими і векторними зображеннями.FON це точкові зображення добре пристосовані для швидкого виводу на екран. Атрибути стилю тексту включають наступні поняття як: гарнітура шрифту зображення кегль інтерліньяж міжбуквений просвіт междусловный пропуск виключення відступ першого рядка втяжка відступи справа і зліва міжабзацне відбиття інші прийоми оформлення мал. Список Set the font style Встановити зображення призначений для вибору стилю написання тексту напівжирний курсив підкреслений або інший.
31496. Комп’ютерна графіка. Основні поняття комп'ютерної графіки 146.89 KB
  Річ у тому що будьяке цифрове зображення на комп'ютері характеризуються набором його таких параметрів як розмір дозвіл формат і тип колірної моделі. Перераховані параметри і визначають якість растрового зображення а також розмір графічного файлу. Дозвіл зображення Растрове зображення формується з сукупності крихітних елементів званих пікселями. Якщо вдуматися то стає очевидним що чим вище дозвіл тим більшу кількість пікселів містить зображення і тим більшою кількістю деталей тобто якістю таке зображення характеризується.
31497. Інтерфейс Photoshop CS5 577.95 KB
  Інтерфейс елементи головного вікна графічного редактора При запуску dobe Photoshop ми побачимо головне вікно програми показане на мал. Мал. Інтерфейс dobe Photoshop Панель управління і головне меню У верхній частині вікна Photoshop знаходиться головне меню що містить практично всі команди для налаштування і здійснення процесу редагування зображення а також панель управління яка також призначена для налаштування і запуску безлічі функціональних можливостей програми мал. Мал.
31498. ФОНДОВИЙ РИНОК 142 KB
  Загальна характеристика фондового ринку Фондовий ринок ринок цінних паперів сукупність учасників фондового ринку та правовідносин між ними щодо розміщення обігу та обліку цінних паперів і похідних деривативів. В економічній літературі терміни фондовий ринок і ринок цінних паперів стали майже синонімами. Основними інструментами фондового ринку є цінні папери різних видів типів які формують свої сегменти: грошового ринку ринку цінних паперів ринку капіталів фондового ринку. Сучасний світовий фондовий ринок розвивається за...