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

Сообщение WM_NC­HIT­TEST отправляется в ваше окно для того, чтобы узнать, какая часть окна соответствует заданной точке. Наиболее частой причиной отправки этого сообщения является перемещение мыши над вашим окном.

  • Стандартный обработчик сообщения WM_SET­CURSOR использует результат, полученный от WM_NC­HIT­TEST, для определения того, какой курсор следует отобразить. К примеру, если вы вернете значение HT­LEFT, функция Def­Window­Proc отобразит курсор IDC_SIZEWE.
  • Если пользователь нажимает левую кнопку мыши, обработчик сообщения WM_NC­LBUTTON­DOWN по умолчанию использует результат, полученный от WM_NC­HIT­TEST, для определения того, в какой части окна был произведен щелчок. К примеру, если вы вернете значение HT­CLOSE, результат будет таким же, как если бы пользователь нажал на кнопку закрытия окна.

Несмотря на то, что сообщение WM_NC­HIT­TEST чаще всего генерируется в результате действий мыши, это не единственный источник данных сообщений. Кто-то другой может захотеть спросить: "Какой части окна соответствует вот эта точка?"

Читать далее