WM_MOUSEWHEEL сообщение отправляется в окно фокус при повороте колесика мыши. DefWindowProc функция передает сообщение для родительского окна. Должно существовать не внутренней переадресации сообщения, так как DefWindowProc распространяет ее родительскую цепочку до тех пор, пока он находит окно, которое обрабатывает его.
WM_MOUSEWHEEL
fwKeys = LOWORD(wParam); / / Ключевые флаги
zDelta = (короткий) HIWORD(wParam); / / колесо вращения
xPos = (короткий) LOWORD(lParam); / / горизонтальное положение указателя
yPos = (короткий) HIWORD(lParam); / / вертикальное положение указателя
| Значение | Описание |
|---|---|
| MK_CONTROL | Если нажата клавиша ctrl. |
| MK_LBUTTON | Если нажата левая кнопка мыши. |
| MK_MBUTTON | Если нажата средняя кнопка мыши. |
| MK_RBUTTON | Если правой кнопкой мыши не работает. |
| MK_SHIFT | Если клавиша shift. |
Параметр zDelta будет кратным WHEEL_DELTA, который установлен на 120. Этот порог для принятия мер, и одной из таких мер (например, прокрутка один шаг) должен происходить для каждого Дельта.
Дельта присвоено 120 разрешить корпорации Майкрософт или других производителей для создания более тонких резолюции колеса в будущем, включая может быть свободно вращающиеся колеса с не вырезы. Ожидается, что такие устройства будут направлять больше сообщений на один поворот, но с меньшими значениями в каждом сообщении. Для поддержки этой возможности, либо добавьте поступающие Дельта значения до достижения WHEEL_DELTA (так для данного Дельта вращения вы получите тот же ответ), или выделите частичной строки в ответ на более частые сообщения. Можно выбрать гранулярность прокрутки и накапливать дельты, пока не будет достигнут.
nbsp; Windows &NT: требует версии 4.0 или более поздней версии.
Windows:Требует Windows 98.
Windows CE:Не поддерживается.
Заголовок:Объявленные в winuser.h.
Обзор ввода мыши, Сообщения ввода мыши, GetSystemMetrics, mouse_event, SystemParametersInfo