с11
Имеем броус с навороченным фильтром и кучей записей. Юзер жмёт на клавишу СтрелкаВверх(или Вниз) и тупо держит её. После отпускания клавиши броус ещё долго продолжает скроллить, видимо отрабатывая буфер клавиатуры. Как избежать этого последействия? Т.е. остановить скроллинг сразу после отпускания клавиши.
browse vertical scrolling - как остановить?
Clarion, Clarion 7
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
morkovin
-
- ✯ Ветеран ✯
- Сообщения: 5169
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
browse vertical scrolling - как остановить?
Если броуз один и на событии NewSelection ничего особо нет, то можно попробовать задать стратегию загрузки броуза "File". Скроллирование будет на порядок, а то и два быстрее. К буферу клавиатуры добраться сложновато. А ещё есть колесо мыши!
We are hard at work… for you. 

kreator
- morkovin
- Ветеран
- Сообщения: 935
- Зарегистрирован: 20 Июль 2005, 14:53
- Откуда: Volgograd, Russia
- Благодарил (а): 9 раз
- Поблагодарили: 4 раза
- Контактная информация:
browse vertical scrolling - как остановить?
но люди как-то сделали EnhancedScrollClass (EScroll)kreator писал(а): 03 Июль 2020, 19:11 К буферу клавиатуры добраться сложновато. А ещё есть колесо мыши!
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
morkovin
-
- ✯ Ветеран ✯
- Сообщения: 5169
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 11 раз
- Поблагодарили: 26 раз
browse vertical scrolling - как остановить?
Там, конечно, не про буфер клавы. Но написано оптимистично! В таймере что-то делают. Для постраничной загрузки, видимо, помогает. Но я думаю - порожняк. Для постраничной загрузки Броуза проблема больше в том, что стоя на конце списка всё равно отрабатывается нажатие клавиши вниз. Например. Может эти случаи лечаться?
We are hard at work… for you. 

kreator
-
- Полимат
- Сообщения: 1817
- Зарегистрирован: 25 Март 2009, 21:55
- Благодарил (а): 27 раз
- Поблагодарили: 10 раз
browse vertical scrolling - как остановить?
перехватывать алертом с таймером 0.5-1 сек и пропускать очередное удержание(нажатие) мышки
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
gopstop2007
Вернуться в «CLARION for Windows»
Перейти
- CW
- ↳ CLARION for Windows
- ↳ CLARION for Internet
- ↳ Clarion.NET
- Эксклюзив
- ↳ Приват
- CLARION и...
- ↳ Reports
- ↳ Железо
- ↳ Готовые программы, шаблоны, библиотеки...
- ↳ cJSON
- ↳ LibCurl
- ↳ MAV
- ↳ SQL, Oracle, ...
- ↳ Multi-программирование(Pascal/Delphi, и т.д.)
- ↳ WinDev
- DOS
- ↳ CLARION for DOS
- Разное
- ↳ Новости
- ↳ English
- ↳ Ресурсы
- ↳ Работа
- ↳ Обо всем ...
- ↳ Обсуждение этого Форума (типа, Гостевая книга)