| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Общие вопросы по .NET и C# > ловим скролл: WM_HSCROLL и WM_VSCROLL |
| Автор: AGENTxXx 27.1.2010, 15:13 |
| Всем добрай день! Проблемма такая: нужно отловить горизонтальный и вертикальный скрол, т.е. определить, когда происходит горизонтальный, а когда вертикальный. В общем случае отловить мтогу с помощью e.Delta, где e это MouseEventArgs, но там нет свойства указывающего на то, какой скролл использовался, просто или 120 или -120, в итоге могу только поймать вертикальную прокрутку можно сказать... Чем можно поймать их, чтобы были отличия? Использую глобальные ловушки в общем. Кто с этим сталкивался? Поправочка: вот эта дельта реагирует в моем случае только на вертикальную прокрутку. Как отловить горизонтальную??? Мышинный хук вообще не хочет ее узнавать, Может это как то с клавиатурным связанно или вообще отдельно? |
| Автор: AGENTxXx 27.1.2010, 21:39 |
| Ну хотя бы есть у кого-нибудь какие-нибудь мысли? Вообще не знаю как это реализовать. Ну или ссылку можете дать на прогу где вообще суперхук, все ловит. Помню только что с какой то книгой в примерах шел он. Не помню только где видел. У себя поискал - не нашел... Ребят!!! Нужна помощь! |
| Автор: AGENTxXx 27.1.2010, 22:35 | ||
| Написанно ведь: необходимо глобально отловить скролл, так что где, этот вопрос не уместен. Если бы в данной проге, то это вообще то локально)) А проблемма заключается в том, что SendMessage не подойдет, так как нужен id окна, а так как у меня нет его (вообще не использую эту функцию в своей проге) то такое решение не подойдет. Я пользуюсь ф-ей mouse_event():
Как видите, тут не нужен id окна, так вот. Как подобным образом можно реализовать скроллинг? Как видите, остальные реализовал, ну конечно тут еще нет XBUTTONов, но это не проблемма добавить. Самое главное, это скроллинг! |