Сообщения мыши из рабочей области
Окно получает сообщение мыши из рабочей области тогда, когда событие мыши происходит внутри рабочей области окна. Система посылает сообщение WM_MOUSEMOVE в окно, когда пользователь перемещает курсор внутри рабочей области. Она посылает одно из ниже перечисленных сообщений, когда пользователь нажимает или отпускает кнопку мыши, в то время, когда курсор внутри рабочей области.
| Сообщение | Предназначение |
|---|---|
| WM_LBUTTONDBLCLK | Левой кнопкой мыши производен двойной щелчок. |
| WM_LBUTTONDOWN | Была нажата левая кнопка мыши. |
| WM_LBUTTONUP | Была отпущена левая кнопка мыши. |
| WM_MBUTTONDBLCLK | Средней кнопкой мыши был произведен двойной щелчок. |
| WM_MBUTTONDOWN | Была нажата средняя кнопка мыши. |
| WM_MBUTTONUP | Была отпущена средняя кнопка мыши. |
| WM_RBUTTONDBLCLK | Правой кнопкой мыши производен двойной щелчок. |
| WM_RBUTTONDOWN | Была нажата правая кнопка мыши. |
| WM_RBUTTONUP | Была отпущена правая кнопка мыши. |
| WM_XBUTTONDBLCLK | Windows 2000/Windows XP: X-кнопкой мыши производен двойной щелчок. |
| WM_XBUTTONDOWN | Windows 2000/Windows XP: Была нажата X-кнопка мыши. |
| WM_XBUTTONUP | Windows 2000/Windows XP: Была отпущена X-кнопка мыши. |
Кроме того, прикладная программа может вызвать функцию TrackMouseEvent, чтобы иметь в распоряжении систему, которая отправляет два добавочных сообщения. Функция посылает сообщение WM_MOUSEHOVER, когда курсор нависает над рабочей областью на некоторый период времени. Она посылает сообщение WM_MOUSELEAVE, когда курсор оставляет рабочую область.