Уведомление WM_NCHITTEST


Сообщение WM_NCHITTEST отправляется в окно тогда, когда перемещается курсор, или когда кнопка мыши нажимается или отпускается. Если мышь не захвачена, сообщение отправляется в окно под курсором. В противном случае, сообщение отправляется в окно, которое захватило мышь.

Окно получает это сообщение через посредство своей функции WindowProc.

Синтаксис

WM_NCHITTEST
    WPARAM wParam
    LPARAM lParam;

Параметры

wParam

Этот параметр не используется.

lParam

Младшее слово устанавливает x-координату курсора. Координата - относительно левого верхнего угла рабочей области.

Старшее слово устанавливает y-координату курсора. Координата - относительно левого верхнего угла рабочей области.

Возвращаемое значение

Возвращаемое значение функцией DefWindowProc - это одно из ниже перечисленных значений, которое указывает позицию острия курсора.

Значение Местоположение острия курсора
HTBORDER На рамке окна, которое не имеет границы установки размера окна.
HTBOTTOM На горизонтальной нижней рамке изменяющего размеры окна (пользователь может щелкнуть мышью, чтобы изменить размеры окна по вертикали).
HTBOTTOMLEFT В левом нижнем угле рамки изменяющего размеры окна (пользователь может щелкнуть мышью, чтобы изменить размеры окна по диагонали).
HTBOTTOMRIGHT В правом нижнем угле рамки  изменяющего размеры окна (пользователь может щелкнуть мышью, чтобы изменить размеры окна по диагонали).
HTCAPTION В заголовке окна.
HTCLIENT В рабочей области.
HTCLOSE На кнопке Закрыть (Close).
HTERROR На фоне экрана или на разделительной линии между окнами (то же самое, что и HTNOWHERE, за исключением того, что функция DefWindowProc создает системный звуковой сигнал, чтобы обозначить ошибку).
HTGROWBOX В блоке управления размером (то же самое, что и HTSIZE).
HTHELP На кнопке Справка (Help).
HTHSCROLL На горизонтальной линейке прокрутки.
HTLEFT На левой рамке изменяющего размеры окна (пользователь может щелкнуть мышью, чтобы изменить размеры окна по горизонтали).
HTMENU В меню.
HTMAXBUTTON На кнопке Развернуть окно (Maximize).
HTMINBUTTON На кнопке Свернуть окно (Minimize).
HTNOWHERE На фоне экрана или на разделительной линии между окнами.
HTREDUCE На кнопке Свернуть окно (Minimize).
HTRIGHT На правой рамке изменяющего размеры окна (пользователь может щелкнуть мышью, чтобы изменить размеры окна по горизонтали).
HTSIZE В блоке управления размером (то же самое, что и HTGROWBOX).
HTSYSMENU В системном меню окна или на кнопке Закрыть (Close) в дочернем окне.
HTTOP На горизонтальной верхней рамке окна.
HTTOPLEFT В левом верхнем угле рамки окна.
HTTOPRIGHT В правом верхнем угле рамки окна.
HTTRANSPARENT В окне, в текущий момент закрытом другим окном одного и того же потока (сообщение, должно быть отправленно в основное окно  того  же самого потока, пока одно из них не возвратит код, который - не HTTRANSPARENT).
HTVSCROLL На вертикальной линейке прокрутки.
HTZOOM На кнопке Развернуть окно (Maximize).
 

Замечания

Используйте нижеследующий код, чтобы получить горизонтальную и вертикальную позицию:

xPos = GET_X_LPARAM (lParam); 
yPos = GET_Y_LPARAM (lParam); 

Вы можете также использовать и  макрос MAKEPOINTS, чтобы преобразовать параметр lParam в структуру POINTS.

Смотри также

Обзор Ввод данных от мыши, Уведомления, используемые мышьюDefWindowProcGET_X_LPARAMGET_Y_LPARAMMAKEPOINTSPOINTS

Размещение и совместимость WM_NCHITTEST 

Windows. NET Server

Да

Windows XP

Да

Windows 2000

Да

Windows NT

Да версии 3.1 и выше

Windows Me

Да

Windows 98

Да

Windows 95

Да

Минимальная версия DLL

Нет

Заголовочный файл

 

- объявлено в

Winuser.h

- включено в

Windows.h

Unicode

Нет

Замечания по платформе

Не имеется

 

Назад в оглавление
На главную страницу
На оглавление справки

Hosted by uCoz