browse vertical scrolling - как остановить?

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Аватара пользователя
morkovin
Ветеран
Сообщения: 908
Зарегистрирован: 20 Июль 2005, 14:53
Откуда: Volgograd, Russia
Благодарил (а): 2 раза
Поблагодарили: 3 раза
Контактная информация:

browse vertical scrolling - как остановить?

Сообщение morkovin »

с11
Имеем броус с навороченным фильтром и кучей записей. Юзер жмёт на клавишу СтрелкаВверх(или Вниз) и тупо держит её. После отпускания клавиши броус ещё долго продолжает скроллить, видимо отрабатывая буфер клавиатуры. Как избежать этого последействия? Т.е. остановить скроллинг сразу после отпускания клавиши.
WBR, morkovin
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

browse vertical scrolling - как остановить?

Сообщение kreator »

Если броуз один и на событии NewSelection ничего особо нет, то можно попробовать задать стратегию загрузки броуза "File". Скроллирование будет на порядок, а то и два быстрее. К буферу клавиатуры добраться сложновато. А ещё есть колесо мыши!
We are hard at work… for you. :)
Аватара пользователя
morkovin
Ветеран
Сообщения: 908
Зарегистрирован: 20 Июль 2005, 14:53
Откуда: Volgograd, Russia
Благодарил (а): 2 раза
Поблагодарили: 3 раза
Контактная информация:

browse vertical scrolling - как остановить?

Сообщение morkovin »

kreator писал(а): 03 Июль 2020, 19:11 К буферу клавиатуры добраться сложновато. А ещё есть колесо мыши!
но люди как-то сделали EnhancedScrollClass (EScroll)
http://www.thinkdata.com/products/devto ... g the one.
The EnhancedScrollClass (EScroll) has been designed to provide high performance browsing and scrolling on page loaded browses in a Clarion application regardless of the file driver being used by the developer. It is a replacement for the standard ABC BrowseClass and its central role is to use Windows timers to determine when an end user actually starts and stops a scroll operation on a list control. This effectively eliminates the unnecessary secondary lookups performed on a browse when a user scrolls through it. Integrating the EnhancedScrollClass into an existing application is easy since it has been derived from the standard BrowseClass.
WBR, morkovin
kreator
✯ Ветеран ✯
Сообщения: 4960
Зарегистрирован: 28 Май 2009, 15:54
Откуда: Москва
Благодарил (а): 6 раз
Поблагодарили: 19 раз

browse vertical scrolling - как остановить?

Сообщение kreator »

morkovin писал(а): 03 Июль 2020, 19:26 но люди как-то сделали EnhancedScrollClass (EScroll)
Там, конечно, не про буфер клавы. Но написано оптимистично! В таймере что-то делают. Для постраничной загрузки, видимо, помогает. Но я думаю - порожняк. Для постраничной загрузки Броуза проблема больше в том, что стоя на конце списка всё равно отрабатывается нажатие клавиши вниз. Например. Может эти случаи лечаться?
We are hard at work… for you. :)
gopstop2007
✯ Ветеран ✯
Сообщения: 1702
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 9 раз
Поблагодарили: 4 раза

browse vertical scrolling - как остановить?

Сообщение gopstop2007 »

перехватывать алертом с таймером 0.5-1 сек и пропускать очередное удержание(нажатие) мышки
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Ответить