![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Типы префиксов
Глава 3. Обработка сообщений Windows
Как объяснялось в главе 2, Windows взаимодействует с приложениями, направляя им сообщения. Вы узнали, как строить каркас приложения Windows. Здесь каркас программы будет расширен с целью иллюстрации обработки некоторых часто используемых сообщений.
3.1. Что такое сообщения?
В Windows существует множество сообщений. Каждое из них представляется уникальным 32-разрядным целым числом. В файле Windows.h определены стандартные макроимена для всех возможных сообщений. В общем случае для идентификации сообщений всегда используются макроимена, а не числовые значения. Вот некоторые широко используемые в Windows макроимена сообщений:
WM_CHAR WM_PAINT WM_MOVE WM_CLOSE WM_LBUTTONUP WM_LBUTTONDOWN WM_COMMAND
Каждое сообщение имеет два параметра, которые содержат дополнительную информацию, зависящую от типа сообщения. Один из этих параметров имеет тип WPARAM, другой – LPARAM. В Windows оба этих типа представляют собой 32-разрядные целые. Для этих параметров в программах чаще всего используются имена соответственно wParam и lParam. По мере изучения различных сообщений будет объясняться и значение этих параметров для каждого конкретного сообщения. Как отмечалось в главе 2, обработку сообщений в программе должна выполнять оконная функция. Эта функция имеет четыре параметра: дескриптор окна, которому направляется сообщение, собственно сообщение, и, наконец, wParam и lParam. Иногда информация, содержащаяся в wParam и lParam, может состоять из двух частей, которые размещаются в двух 16-разрядных словах, составляющих каждый из этих параметров. Для обеспечения простого доступа к каждой части wParam и lParam в Windows определены два макроса – LOWORD и HIWORD. Они возвращают соответственно старшее и младшее слова длинного целого и используются так: x=LOWORD(lParam); y=HIWORD(lParam);
|