Главная страница
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.02 c
14-49720
Knight
2003-12-25 11:34
2004.01.16
Люди, поможите кто может с переводом...


1-49589
sVic
2004-01-05 14:05
2004.01.16
Не выгонять лист после печати


7-49779
Boutenko_Ivan
2003-11-03 20:36
2004.01.16
запуск файлов из программы


14-49741
ASt
2003-12-23 04:57
2004.01.16
---|Ветка была без названия|---


14-49738
barmaley2000
2003-12-23 22:57
2004.01.16
помогите с описанием функции