Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.01.16;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.009 c
1-49597
Toots
2004-01-05 12:57
2004.01.16
параметр командной строки


1-49541
Ruba
2004-01-02 15:33
2004.01.16
Как перевести string в математическое выражение?


7-49791
Александр из Минска
2003-10-30 23:17
2004.01.16
Во всех ли Виндах есть файл regsvr32.exe?


3-49469
Sirruf
2003-12-16 19:40
2004.01.16
Параметры IBStoredProc


1-49596
Вован_
2004-01-05 12:57
2004.01.16
Как получить код последней нажатой клавиши ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский