![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Положение колёсика мыши. [D6, XP]
Б © (2009-08-07 23:01:00)Как, используя WinAPI, узнать, что положение колёсика мыши?
DVM (2009-08-08 17:54:00) [1]
> Б (07.08.09 23:31) [10]
> WheelDelta: integer (Как в TForm.MouseWheel)
Дельта от предыдущего состояния? А предыдущее состояние возникает в какой момент? В момент вызова функции (момент кручения колеса отпадает, т.к. вращений может быть хоть сто штук на один вызов функции)? Подумай хорошенько над этими вопросами и станет ясно, что сие странно очень.
Б (2009-08-08 13:20:00) [2]
> Сообщение. Только сообщение.
Пока получаю отловом, но если имеются Win-функции для получения нажатия клавиш, то и логично было бы и для изменений колёсика мыши.
> Конкретно приблизились к Delphi
В разделе про мыши поищу лучше.
> Третья запятая лишняя (вторую и первую можно также безболезненно
> опустить). Запятая - показатель того, что при чтении в этом
> месте нужно сделать паузу. После "узнать" будто врезаешься
> в паузу-запятую и теряешь мысль и смысл предложения ;-)
3-я - это опечатка.
Остальные для выделения уточнения, что надо через API, а не TForm.MouseWheel.
TIF (2009-08-08 01:27:00) [3]Сообщение. Только сообщение. То, которое уже и подсказали в [1] :)
1) MSDN
WM_MOUSEWHEEL Notification
http://msdn.microsoft.com/en-us/library/ms645617(VS.85).aspx
Официальная документация
2) Поиск (Google, Bing...)
http://www.bing.com/search?q=WM_MOUSEWHEEL
Полезные хождения вокруг да около
3) Королевство
http://www.delphikingdom.com/asp/itemq.asp?MessageID=115
Конкретно приблизились к Delphi
PS:
> *Как, используя WinAPI, узнать, положение колёсика мыши?
Третья запятая лишняя (вторую и первую можно также безболезненно опустить). Запятая - показатель того, что при чтении в этом месте нужно сделать паузу. После "узнать" будто врезаешься в паузу-запятую и теряешь мысль и смысл предложения ;-)
Б (2009-08-07 23:33:00) [4]*Про API-функцию не знаю.
Б (2009-08-07 23:31:00) [5]
> Что по твоему должна возвращать функция относительно колесика,
> даже если бы она была?
WheelDelta: integer (Как в TForm.MouseWheel)
> Не знаешь. И никто не знает. Просто для тебя сделали обертки,
> типа OnKeyPress, для клавишь. А для колесика не сделали.
> А придется руками ловить.
В VCL - cделали. Про функцию не знаю.
Я вместо OnKeyPress использую GetAsyncKeyState.
TUser (2009-08-07 23:12:00) [6]
> Б (07.08.09 23:08) [5]
>
> Хотелось бы без отлова сообщений, через Win-функции.
> Как через эти функции получать нажатия клавиш клавиатуры,
> кнопок мыши - знаю, а вот изменение положение колёсика
> - нет.
>
Не знаешь. И никто не знает. Просто для тебя сделали обертки, типа OnKeyPress, для клавишь. А для колесика не сделали. А придется руками ловить.
DVM (2009-08-07 23:11:00) [7]
> Б
> а вот изменение положение колёсика - нет.
Что по твоему должна возвращать функция относительно колесика, даже если бы она была?
DVM (2009-08-07 23:10:00) [8]
> Б (07.08.09 23:08) [5]
>
> Хотелось бы без отлова сообщений
Это все есть события, поэтому логичнее всего узнавать об этих событиях отловом сообщений.
DVM (2009-08-07 23:09:00) [9]
> Б
это же не руль в автомобиле, нет у него нейтрального нулевого положения соответственно отсчитывать положение не от чего. Есть только направление вращения.
Б (2009-08-07 23:08:00) [10]Хотелось бы без отлова сообщений, через Win-функции.
Как через эти функции получать нажатия клавиш клавиатуры, кнопок мыши - знаю, а вот изменение положение колёсика - нет.
Anatoly Podgoretsky (2009-08-07 23:05:00) [11]У колесико одно положение, оно на мышке.
TUser (2009-08-07 23:03:00) [12]Всмысле, можно ловить события его изменения, а вот само по себе положение колесика - хз что такое
TUser (2009-08-07 23:02:00) [13]на мышке оно, точно, без апи
WM_MOUSEWHEEL
Б (2009-08-07 23:01:00) [14]*Как, используя WinAPI, узнать, положение колёсика мыши?