| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: WinAPI и системное программирование > Колесо |
| Автор: Deux 10.1.2005, 21:17 |
| Как отличить прокрутку колеса мыши вниз и вверх? |
| Автор: Albinos_x 10.1.2005, 21:31 |
| Лови сообщение WM_MOUSEWHEEL старшие разряды параметра wParam будут указывать насколько и вкакую сторону поворачивается колёсико. Положительные - вверх, отрицательные - вниз |
| Автор: Леша 10.1.2005, 22:40 |
| Albinos_x, все верно. Для справки: работает только начиная с NTшек... Впринципе логично... |
| Автор: Deux 11.1.2005, 20:30 |
| Функцией hi(wParam)? У меня всегда в результате 0 получается. |
| Автор: Snowy 12.1.2005, 10:17 |
| А винда у тебя какая? NT4, 2k, XP,2k3? Или 9x? Для 9x и NT до 4.0 работает только InteliMouse, причем ловить нужно MSH_MOUSEWHEEL zDelta = (int) wParam; // куда крутим xPos = LOWORD(lParam); // координата x yPos = HIWORD(lParam); // y |
| Автор: Deux 13.1.2005, 18:59 |
| Винда у меня ХР, но полюбому все параметры всегда одинаковые, всегда. Может проблема с дровами для мышЫ? |
| Автор: Albinos_x 13.1.2005, 19:07 | ||
Вряд ли. Приведи код, как ловишь сообщение и обрабатываешь его. |
| Автор: Snowy 14.1.2005, 09:19 |
| А ты не бери hi hi возвращает байт. В wParam, например $00780000 И hi и lo здесь будет 0. Бери wParam целиком. Если он больше нуля, то вверх, меньше, то вниз. Только вот как определить на сколько строк, я затрудняюсь ответить... |
| Автор: Deux 14.1.2005, 22:14 | ||
| Ну в том-то и дело, что и wParam у меня всегда 0. Добавлено @ 22:22 Вот код:
В файле получается: 0 0 0 0 ... |