Раздел 1.Основы событийного программирования в Windows
В Windows используется модель управляемого событиями программирования. Этот подход заключается в том, что реакция программы определяется внешними событиями (щелчки мыши, клавиатура и т.д.). Windows сообщает о событии при помощи сообщения, которое описывает некоторое изменение, произошедшее в окружающей приложение среде. Каждое сообщение связывается с конкретным окном приложения, с каждым из которых связана собственная оконная процедура. Приложение Windows получает сообщения при помощи функции интерфейса прикладного программирования GetMessage( ), после чего обращается к Windows посредством функции Dispatch Message( ). Затем Windows сама вызывает соответствующую оконную процедуру и передает ей это сообщение для обработки.
Приложение, предназначенное к выполнению в среде Windows, должно соблюдать определенные правила по своему созданию и регистрации в операционной среде. Точкой входа в приложение является функция WinMain, выполняющая регистрацию оконного класса и создание окна, которое будет получать сообщения Windows. При регистрации класса окна заполняется структура WNDCLASSEX, в которой указывается оконная процедура, обрабатывающая сообщения посылаемые данному окну. Для регистрации и создания окна используется следующая последовательность вызовов API функций: RegisterClassEx – регистрация оконного класса; CreateWindow – создание окна; ShowWindow – отображение окна; UpdateWindow – перерисовка окна. После создания и отображения окна функция WinMain переходит в цикл обработки сообщений, в котором будет находиться до появления сообщения о закрытии приложения. Основная работа приложения будет осуществляться в условной ветви оконной процедуры для данного типа сообщения. Если ветви для данного типа сообщения не предусмотрено, то управление передается обработчику сообщений по умолчанию – DefWindowProc.
Задание 1. Разработать программу Win32 с окном, обладающим перечисленными свойствами, конкретный вид которых указан в соответствующем варианте учебного задания.
Цель: познакомиться с основополагающими правилами создания приложения в Win32.
Таблица 1
Варианты задания 1
№ варианта | Вид иконки | Вид курсора | Цвет фона | Стиль | Размер x, y, ширина, высота | Начальное положение |
1 | красный | без системного меню | 20, 40, 300, 400 | нормальное | ||
2 | белый | без кнопки максимизации | 20, 80, 200, 400 | минимизированное | ||
3 | синий | не растягивающееся | 10, 20, 100, 200 | максимизированное | ||
4 | черный | без бордюров (границ) | 20, 40, 300, 80 | минимизированное | ||
5 | красный | нормальное | 20, 40, 100, 300 | минимизированное | ||
6 | желтый | нормальное | 20, 60, 100, 300 | минимизированное | ||
7 | белый | с линейной прокрутки | 40, 80, 100, 200 | нормальное | ||
8 | красный | без кнопки минимизации | 10, 20, 300, 400 | максимизированное | ||
9 | малиновый | без границ | 10, 20, 40, 80 | минимизированное | ||
10 | розовый | неактивное | 10, 20, 140, 160 | нормальное | ||
11 | желтый | с горизонтальной и вертикальной прокруткой | 10, 40, 100, 500 | максимизированное | ||
12 | коричневый | без заголовка | 10, 20, 40, 80 | максимизированное | ||
13 | оранжевый | без заголовка и границ | 10, 30, 480, 360 | нормальное | ||
14 | желтый | с прокруткой и без заголовка | 10, 20, 210, 280 | нормальное | ||
15 | оранжевый | без системного меню | 10, 30, 350, 430 | нормальное | ||
16 | коричневый | поверх всех окон | 15, 40, 300, 400 | минимизированное | ||
17 | малиновый | без кнопки минимизации | 10, 70, 350, 430 | нормальное | ||
18 | желтый | не растягивающееся | 100, 20, 210, 280 | минимизированное | ||
19 | серый | без заголовка и границ | 10, 90, 80, 360 | максимизированное | ||
20 | зеленый | без системного меню | 15, 40, 200, 400 | нормальное | ||
21 | красный | без заголовка | 10, 90, 200, 360 | минимизированное | ||
22 | зеленый | с прокруткой и без заголовка | 100, 90, 200, 360 | нормальное | ||
23 | серый | с горизонтальной и вертикальной прокруткой | 95, 40, 300, 400 | нормальное | ||
24 | синий | не растягивающееся | 100, 20, 210, 280 | максимизированное | ||
25 | черный | без заголовка и границ | 95, 40, 320, 300 | максимизированное |
Указания. Для построения остова приложения в среде Microsoft Visual Studio нужно выбрать проект – приложение Win32 и далее пример программы “Hello World”.