Вниз
Скачать: CL | DM;

Прокрутка колесом мыши   Найти похожие ветки 

← →
lipskiy ©   (2003-12-17 23:13) [0]

Как обеспечить прокрутку, даже если не установлен родной драйвер мыши?

В некоторых компонентах (дерево VirtualTreeView, табличка GridView) прокрутка не работает, если не стоит родной драйвер мыши, а иногда и с драйвером не работает.

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


← →
lipskiy ©   (2003-12-25 01:17) [1]

up


← →
nikkie ©   (2003-12-25 01:55) [2]

у меня VTV нормально отрабатывает на прокрутку (win2K, программа откомпилирована в D6). по идее, при прокрутке колеса посылается сообщение WM_MOUSEWHEEL. но вполне возможно, что больно умный драйвер будет посылать WM_VSCROLL с целью заставить работать колесико в приложениях, которые не знают о WM_MOUSEWHEEL. однако легко можно представить приложение, в котором из-за такого фокуса колесо наоборот перестает работать: если скролбары реализованы как отдельные окна, а не как элементы прокручиваемого окна.


← →
BaDeVlad ©   (2003-12-25 09:07) [3]

Если Вы написали обработчик события OnMouseWheel или ему подобный, то дальнейшая обработка этого сообщения прекращается. И драйвер мыши не превращает это сообщение в wm_scroll (как он делает, если сообщение WM_MOUSEWHEEL не обработано). По крайней мере нормальные драйвера так работают...


← →
MV   (2003-12-25 11:09) [4]

2 BaDeVlad © (25.12.03 09:07) [3]

Правильно, добавьте в код строчку Inherited (если по логике подходит, конечно)


← →
lipskiy ©   (2004-01-02 23:55) [5]


> BaDeVlad © (25.12.03 09:07) [3]

Пардон, немного недопонял.
Лично я не писал обработчиков OnMouseWheel.
В компонентах, о которых я говорил, как бы такого конкретно я не встретил.
То есть что это означает, что если в компоненте обработано OnMouseWheel, то без драйвера прокрутка работать не будет? А с драйвером будет? А в чем разница?

Проблема в том, что НИЧЕГО НЕ МЕНЯЯ В КОДЕ, одно и то же приложение, но запущенное при установленном мышином драйвере и без этого драйвера в первом случае прокручивается, во втором нет. При чем же здесь обработка события? Допустим, оно обрабатывается. Так оно в обоих случаях обрабатывается. Или не обрабатывается - также, в обоих случаях.
Разница только одна - установлен драйвер или нет (м.б. еще важно - какой драйвер, этого не проверял).

Так вот вопрос - что меняется в работе обработчиков событий прокрутки колесом с разными драйверами и без них?



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.014 c
1-49565
Gibon
2004-01-05 20:27
2004.01.16
Как засунуть какой нибудь ресурс в exe шник ???


1-49632
афвуд
2004-01-06 14:29
2004.01.16
Временная папка Windows


14-49757
Officeman
2003-12-26 12:40
2004.01.16
что нового в DELPHi 7 ??


1-49511
Олег С.
2003-12-23 14:48
2004.01.16
Меню как в Delphi (Bar с меню, подвижный, съемный)


7-49775
Alex10
2003-11-03 10:30
2004.01.16
Не могу разобраться с параметрами видеосистемы!!!




   Наверх