Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.01.16;
Скачать: 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 вся ветка

Текущий архив: 2004.01.16;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.032 c
1-49613
TUser
2004-01-05 07:49
2004.01.16
Trace hook


8-49647
Delphin
2003-09-16 14:31
2004.01.16
Народ, помогите пожалуйста найти компонент dxPack первой версии (


9-49380
Norlin
2003-07-04 03:38
2004.01.16
Алгоритм столкновений


3-49452
Danilas
2003-12-22 00:48
2004.01.16
Inter Base


3-49409
new
2003-12-19 09:30
2004.01.16
index