Назначение и структура сообщений О Сообщение WM_PAINT 0x000F указывает, что изображение в рабочей области необходимо нарисовать заново. Независимо от момента поступления оно обрабатывается последним, когда в очереди не остается других сообщений. Это позволяет перерисовывать окно на экране только после того, как будут учтены все причины, которые могут вызвать изменение изображения. Анализируя работу программ, можно сделать вывод о том, что функция GetMessageC ) считывает сообщение WM_PAINT, но не удаляет его из очереди.
О Сообщение WMJ10SE 0x0010 оповещает окно с идентификатором hWnd о его закрытии (но не уничтожении) функцией CloseWindowO. Закрытое окно можно заново показать вызовом функции ShowWindow О.
О Сообщение WM_TIMER 0x0113 указывает, что истек заданный функцией SetTimer( ) интервал времени. Сообщение также имеет пониженный приоритет, чтобы при высокой частоте поступления не заблокировать обработку других сообщений.
О Сообщение WM_SETFOCUS 0x0007 указывает, что окно получило фокус ввода (например, выполнена функция SetFocus(hWnd).
О Сообщение WMJCILLFOCUS 0x0008 указывает, что окно потеряло фокус ввода.
О Сообщение WM_COMMAND 0x0111 указывает, что щелчком мыши выбран выделенный цветом пункт меню, пришло сообщение от графического органа управления, размещенного в окне, или нажато сочетание клавиш, дублирующее пункт меню. Старшее слово wParam содержит код извещения (notification code), идентифицирующий ситуацию в графическом органе управления или тип источника сообщения.
О Сообщение WM_KEYDOWN 0x0100 указывает, что была нажата клавиша на клавиатуре (кроме клавиши Alt). Поле 1 Pa ram содержит скан-код клавиши и другую информацию. Напомним, что скан-кодом называется код, который вводится процессором из порта при нажатии клавиши. Закрепление скан-кодов за клавишами не стандартизовано и определяется так, как удобно разработчику аппаратуры. Фирма Microsoft преобразует скан-коды в унифицированный для любых клавиатур набор кодов. При их использовании можно считать, что ЭВМ всегда укомплектована унифицированной, хотя и реально не существующей (виртуальной) клавиатурой. Код виртуальной клавиши содержится в wPa ram. Коды виртуальных клавиш можно найти в файле winuser.h, начиная со строки #define VK_LBUTTON 1. Для английских букв они совпадают с кодами прописных букв стандарта ASCII.