Операционная система Microsoft Windows 3.1 для программиста -том 1


Сообщения для внутренней области окна


Эти сообщения генерируются в том случае, если при обработке сообщения WM_HITTEST функция DefWindowProc вернула значение HTCLIENT.

Для всех сообщений из этой группы параметр lParam содержит координаты курсора мыши, а параметр wParam - значение, с помощью которого можно определить, какие клавиши на мыши и клавиатуре были нажаты в тот момент, когда произошло событие, связанное с сообщением.

Младшее слово параметра lParam содержит горизонтальные координаты курсора мыши, старшее - вертикальные.

Параметр wParam может состоять из отдельных битовых флагов, перечисленных ниже.

Значение Описание
MK_CONTROL На клавиатуре была нажата клавиша <Control>
MK_LBUTTON Была нажата левая клавиша мыши
MK_MBUTTON Была нажата средняя клавиша мыши
MK_RBUTTON Была нажата правая клавиша мыши
MK_SHIFT На клавиатуре была нажата клавиша <Shift>

Анализируя параметр wParam, приложение может определить, были ли в момент события нажаты какие-либо клавиши мыши или клавиши <Control> и <Shift>, расположенные на клавиатуре.

Следует учесть, что вы можете нажать клавишу мыши, когда курсор находится над одним окном, затем переместить курсор в другое окно и там отпустить клавишу мыши. В этом случае одно из сообщений о том, что была нажата клавиша мыши (WM_LBUTTONDOWN, WM_RBUTTONDOWN или WM_MBUTTONDOWN), попадет в функцию первого окна, а сообщение о том, что клавиша мыши была отпущена (WM_LBUTTONUP, WM_RBUTTONUP или WM_MBUTTONUP), - во второе.

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

Следует сделать особое замечание относительно сообщений о двойном щелчке мыши.


Начало  Назад  Вперед



Книжный магазин