Оконное сообщение WM_NCHITTEST используется для определения области, над которой находится указатель мыши, но оно также может генерироваться и в тех случаях, когда указатель мыши не находится над вашим окном
Сообщение WM_NCHITTEST отправляется в ваше окно для того, чтобы узнать, какая часть окна соответствует заданной точке. Наиболее частой причиной отправки этого сообщения является перемещение мыши над вашим окном.
- Стандартный обработчик сообщения WM_SETCURSOR использует результат, полученный от WM_NCHITTEST, для определения того, какой курсор следует отобразить. К примеру, если вы вернете значение HTLEFT, функция DefWindowProc отобразит курсор IDC_SIZEWE.
- Если пользователь нажимает левую кнопку мыши, обработчик сообщения WM_NCLBUTTONDOWN по умолчанию использует результат, полученный от WM_NCHITTEST, для определения того, в какой части окна был произведен щелчок. К примеру, если вы вернете значение HTCLOSE, результат будет таким же, как если бы пользователь нажал на кнопку закрытия окна.
Несмотря на то, что сообщение WM_NCHITTEST чаще всего генерируется в результате действий мыши, это не единственный источник данных сообщений. Кто-то другой может захотеть спросить: "Какой части окна соответствует вот эта точка?"