Вверх ↑
Ответов: 1925
Рейтинг: 172
#1: 2015-04-10 21:55:53 ЛС | профиль | цитата
nesco, благодарю!

Кстати! При создании плеера и подобных программ onEndScroll в принципе использовать корректнее, чем onMouseUp (даже если бы он работал для ЛКМ). Например: таймер регулярно подаёт на ScrollBar (doPosition) новую позицию при проигрывании файла. Если мы хотим изменить позицию, мы вручную перемещаем ползунок, но сначала блокируем автоматическое перемещение. Обычно для этого используется onMouseDown. Когда перемещение мы заканчиваем, автоматическое управление должно возобновиться. Так вот, если возобновление автоуправления поставить на onMouseUp, то возобновление не произойдёт, если мышь будет отпущена за пределами ScrollBar (даже если курсор чуть-чуть выйдет за пределы!), ведь onMouseUp в принципе происходит, только когда отпускание мыши происходит непосредственно над ScrollBar. Тем не менее, автоуправление должно возобновиться, ведь мышь-то отпущена! А onEndScroll произойдёт в любом случае, неважно, где отпущена мышь, главное, что предвижение было!

Вот как это выглядит в коде:

code_35488.txt
Поэтому надеяться на ScrollBarEx с его работающим onMouseUp нет смысла!
------------ Дoбавленo в 21.29:
Пардон, на ScrollBarEx можно рассчитывать: он захватывает курсор, и за пределы ему не выйти. Но другие какие-нибудь подобные компоненты, которые курсор не захватывают, с ними будет указанная выше проблема.
------------ Дoбавленo в 21.55:
Кстати, в TrackBar есть onStart и onStop!
карма: 9
0
файлы: 1code_35488.txt [1.4KB] [352]