Сообщение 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 |
Нет |
|
Замечания по платформе |
Не имеется |