aew Ответов: 2

Как получить уведомление о перетаскивании большого пальца полосы прокрутки в многострочном окне редактирования?


Когда пользователь нажимает на вертикальную полосу прокрутки в многострочном поле редактирования, отправляется уведомление EN_VSCROLL. Как я могу получить уведомление, когда большой палец полосы прокрутки перетаскивается?

2 Ответов

Рейтинг:
0

enhzflep

К сожалению, так кажется-это то, чего вы не можете иметь.

Просмотр документов для EN_VSCROLL здесь: Код уведомления MSDN>EN_VSCROLL мы находим следующий драгоценный камень:


Замечания
Это сообщение посланный для следующих событий мыши на вертикальной полосе прокрутки: нажав любую из кнопок со стрелками или нажатием между кнопки со стрелками и бегунок. Однако сообщение не отправляется при щелчке самой мыши на полосе прокрутки.(sic - я думаю, что мышь должна быть большим пальцем) Сообщение также отправляется, когда событие клавиатуры вызывает изменение области просмотра элемента управления редактированием, например нажатие кнопок HOME, END, PAGE UP, PAGE DOWN, стрелка вверх или стрелка вниз.


Итак, поскольку вам нужно нажать на большой палец, чтобы перетащить его, и поскольку уведомления не срабатывают при "щелчке самой мыши полосы прокрутки", вы ничего не получаете. Вы можете поймать события line-up/page-up и line-down/page-down, но даже тогда вам не скажут, какой это был тип события-просто то, что произошло событие прокрутки. :(


Рейтинг:
0

Member 11807094

вы можете захватить сообщение WM_VSCROLL для решения проблемы.