Сообщение 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.
Смотри также
Обзор Ввод данных от мыши, Уведомления, используемые мышью, DefWindowProc, GET_X_LPARAM, GET_Y_LPARAM, MAKEPOINTS, POINTS
Размещение и совместимость 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 |
Нет |
Замечания по платформе |
Не имеется |