Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.12.2008, 14:33   #1
G&R
 
Регистрация: 14.12.2008
Сообщений: 9
Вопрос Проблема со ScrollBar-ом.

В общем такая проблема: во время изменения позиции скролла (OnScrolling) программа должна выполняеть довольно сложные операции.
Если перемещать скролл медленно то всё выполняется нормально, но если перемещать чересчур быстро а потом отжать лувую кнопку мышы (отпустить скролл), то не генерируется собщение SB_ENDSCROLL (говорящее о том что пользователь отпустил скролл). И таким образом получается что на сколл уже не жмут, а он продолает "скроллить" . Как можно это исправить?
G&R вне форума Ответить с цитированием
Старый 14.12.2008, 14:58   #2
e@gle
Заблокирован
 
Регистрация: 14.12.2008
Сообщений: 10
По умолчанию

Лучше поставь код на другое событие, т.к. событие OnScrolling, если очень быстро изменять ползунок будет реагировать зависаниями.
e@gle вне форума Ответить с цитированием
Старый 14.12.2008, 15:07   #3
Altera
Старожил
 
Аватар для Altera
 
Регистрация: 29.01.2008
Сообщений: 2,406
По умолчанию

А как вы получаете значение позицию скролла?

Код:
procedure TEXE_FORM2.ScrollBar1Scroll(Sender: TObject; ScrollCode: TScrollCode;
  var ScrollPos: Integer);
begin
   //ScrollBar2.Position := scrollPos; // работает с маленькой задержкой, но всёравно заметной... 
   ScrollBar2.Position := ScrollBar1.Position; // зедержка больше ;) 
end;
Altera вне форума Ответить с цитированием
Старый 14.12.2008, 15:09   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Я бы во-первых подумал о оптимизации "довольно сложных операций".
А уж потом о всем остальном.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 14.12.2008, 15:59   #5
G&R
 
Регистрация: 14.12.2008
Сообщений: 9
По умолчанию

Оптимизация "довольно сложных операций" обычно ничего не даёт.
Тот же редактор Delphi даёт гораздо большие тормоза при перемещинии
скролла (особенно заметно на старых компах), но несмотря на это скролл там работает правильно.
G&R вне форума Ответить с цитированием
Старый 14.12.2008, 16:11   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Оптимизация "довольно сложных операций" обычно ничего не даёт.
Это ты здря.
Цитата:
Тот же редактор Delphi даёт гораздо большие тормоза при перемещинии скролла
Если твоя прога "тормозит" так же как делфовый редактор на старых компах то не парься - это тормозами назвать нельзя.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
избавится от ScrollBar... Roof Общие вопросы Delphi 9 28.03.2011 09:59
Работа со ScrollBar raccooni Общие вопросы C/C++ 0 12.12.2008 12:26
ScrollBar. Цвет... Roof Win Api 0 29.08.2008 23:45
ListBox и Scrollbar Airou Общие вопросы Delphi 3 22.05.2008 17:09