Версия для печати
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум на Исходниках.RU > Delphi: Система, Windows API > SendMessage + WM_MOUSEHWHEEL


Автор: estra 05.02.21, 18:07
Всем привет.

Имеется окно с вертикальным и горизонтальным скроллом.
Отправка окну сообщения WM_MOUSEWHEEL отрабатывает корректно:
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    SendMessage(Wnd.Handle, WM_MOUSEWHEEL, MakeWParam(0, 120), 0);

А вот на отправку сообщения WM_MOUSEHWHEEL окно не реагирует
<{CODE_COLLAPSE_OFF}><{CODE_WRAP_OFF}>
    SendMessage(Wnd.Handle, WM_MOUSEHWHEEL, MakeWParam(0, 120), 0);

В чем может быть проблема?

Автор: Rouse_ 07.02.21, 15:50
А сам контрол подерживает горизонтальное скролирование? Например TMemo и TRichEdit не умеют. Ты проверь для начала покрутить колесом с зажатым шифтом, может оно и не должно.
И не забывай что 120 - это WHEEL_DELTA чтобы крутить в обратную сторону этот параметр должен быть отрицательным.

Автор: estra 07.02.21, 16:29
Спасибо! Уже до самого дошло, не поддерживает (компонент SynEdit). Про WHEEL_DELTA в курсе, а для замедления/ускорения прокрутки можно изменять ее на какой-нибудь коэффициент - WHEEL_DELTA div 2 или WHEEL_DELTA * 2.

Это нужно было для создания вот такого скролла - 000.png (, : 369) , выкрутился через WM_HSCROLL.

P.S.
Кстати, у такого вида прокрутки есть какой-нибудь "официальное" название?

Автор: Rouse_ 07.02.21, 17:46
Цитата estra @
для замедления/ускорения прокрутки можно изменять ее на какой-нибудь коэффициент - WHEEL_DELTA div 2 или WHEEL_DELTA *

Да, именно так и нужно через множтель.

Цитата estra @
Кстати, у такого вида прокрутки есть какой-нибудь "официальное" название?

А чем Mouse Wheel не устраивает? :)))))

Автор: estra 07.02.21, 18:00
Ну какой же это Wheel, когда колесо не крутится...))
Под Mouse Wheel подразумевается "неистовая работа пальцем"...))
Должен жк быть какой-нибудь термин, чтобы можно было отличить одно от другого, без долгого и нудного объяснения: "ну это как в Excel, нажимаешь среднюю кнопку мыши и тянешь в сторону, в которую хочешь промотать". Это нудно, хотелось бы все это объяснить одним/двумя словами...

Автор: Rouse_ 07.02.21, 18:04
Не заморачивайся так, есть обычный скролл, а есть скролл колесом. Все ясно и понятно что куда :)))

Powered by Invision Power Board (https://www.invisionboard.com)
© Invision Power Services (https://www.invisionpower.com)