Окно получает сообщение мыши из нерабочей области тогда, когда событие от нажатия кнопки мыши происходит в какой-либо части окна кроме рабочей области. Нерабочая область окна состоит из его рамки, строки меню, области заголовка, линейки прокрутки, системного меню окна, кнопки свертывания и кнопки развертывания окна.
Система создает сообщения из нерабочей области прежде всего для своего собственного использования. Например, система использует сообщения нерабочей области, чтобы изменить курсор на двунаправленную стрелку, когда острие курсора перемещается по рамке окна. Окно должно передать сообщения мыши из нерабочей области в функцию DefWindowProc, чтобы использовать в своих интересах встроенный интерфейс мыши.
Есть соответствующее сообщение мыши из нерабочей области для каждого сообщения мыши из рабочей области. Названия этих сообщений являются похожими за исключением того, что именованные константы для сообщений из нерабочей области включают в себя буквы NC. Например, перемещение курсора в нерабочей области создает сообщение WM_NCMOUSEMOVE, а нажатие левой кнопки мыши, в то время, когда курсор находится в нерабочей области создает сообщение WM_NCLBUTTONDOWN.
Параметр lParam сообщения мыши из нерабочей области - это структура, которая содержит x- и y-координаты острия курсора. В отличие от координат сообщений мыши из рабочей области, эти координаты определяются в экранных, а не рабочих координатах окна. В системе экранных координат, все точки на экране располагаются относительно координат (0,0) левого верхнего угла экрана.
Параметр wParam содержит значение местоположения курсора, значение, которое указывает, где в нерабочей области произошло событие от нажатия кнопки мыши. Нижеследующие разделы объясняют предназначение значений местоположения курсора.