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


Сообщения, поступающие от мыши - часть 2


/p>

Из приведенных выше 22 сообщений 21 сообщение образуется из сообщения WM_NCHITTEST. Это сообщение генерируется драйвером мыши при любых перемещениях мыши. Разумеется, драйвер не отслеживает перемещение мыши для каждого пиксела экрана. Период возникновения сообщений WM_NCHITTEST зависит от скорости перемещения мыши, параметров драйвера, аппаратуры мыши и т. п.

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

Приложения редко обрабатывают сообщение WM_NCHITTEST, обычно оно передается функции DefWindowProc. Получив это сообщение, функция DefWindowProc определяет положение курсора мыши относительно расположенных на экране объектов и возвращает одно из приведенных ниже значений, описанных в файле windows.h).

Значение Расположение курсора мыши
HTBORDER На рамке окна, которое создано без толстой рамки, предназначенной для изменения размера окна
HTBOTTOM На нижней горизонтальной линии рамки окна
HTBOTTOMLEFT В левом нижнем углу рамки
HTBOTTOMRIGHT В правом нижнем углу рамки
HTCAPTION На заголовке окна (title-bar)
HTCLIENT Во внутренней области окна (client area)
HTERROR Над поверхностью экрана или на линии, разделяющей различные окна. Дополнительно функция DefWindowProc выдает звуковой сигнал
HTGROWBOX В области изменения размера окна (size box)
HTHSCROLL На горизонтальной полосе просмотра
HTLEFT На левой вертикальной линии рамки окна
HTMAXBUTTON На кнопке максимизиции
HTMENU В области меню
HTMINBUTTON На кнопке минимизации
HTNOWHERE Над поверхностью экрана или на линии, разделяющей различные окна
HTREDUCE В области минимизации
HTRIGHT На правой вертикальной линии рамки окна
HTSIZE В области изменения размера окна (size box). То же самое, что и HTGROWBOX
HTSYSMENU В области системного меню
HTTOP На верхней горизонтальной линии рамки окна
HTTOPLEFT В верхнем левом углу рамки окна
HTTOPRIGHT В правом верхнем углу рамки окна
HTTRANSPARENT В окне, которое перекрыто другим окном
HTVSCROLL На вертикальной полосе просмотра
HTZOOM В области максимизиции
<


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



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