Вниз
Скачать: CL | DM;

Трабла с TrackBar.   Найти похожие ветки 

 
ЕщеОдинКакжеНадоели   (2012-11-22 22:06) [0]

Делаю небольшую демку для работы со звуком - проигрыватель.

Есть  TrackBar, который меняет позицию воспроизведения.


procedure TForm1.TrackBar1Change(Sender: TObject);
begin
 Track_SetPos(TrackBar1.Position);
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
 TrackBar1.Position:= Track_GetPos;
end;


По таймеру обновляется положение бегунка.

Но при вызове TrackBar1.Position:= Х, вызывается и TrackBar1Change,
как убрать такую зависимость?


 
kilkennycat ©   (2012-11-22 22:44) [1]

есть такая вещь, как флаги.
procedure TForm1.TrackBar1Change(Sender: TObject);
begin
flag := false;
Track_SetPos(TrackBar1.Position);
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
if flag then TrackBar1.Position:= Track_GetPos;
flag := true;
end;

ну а ваще я б событийность медиплеера собственно посмотрел бы внимательно.


 
kilkennycat ©   (2012-11-22 22:46) [2]

а блин, не там условие разместил. пьяный я чуть. но смысел ясен.


 
ЕщеОдинКакжеНадоели   (2012-11-22 23:36) [3]

Чета я не понял. Я немного под стрессом.


 
TrackBarChange   (2012-11-22 23:44) [4]


> ЕщеОдинКакжеНадоели   (22.11.12 23:36) [3]
> Чета я не понял

Бросай это дело. Не твое это.


 
kilkennycat ©   (2012-11-23 00:10) [5]

че тут не понять? если нужно не выполнять действия в обработчике события, вызванного действием другого события, нужно определить, что первое событие вызвано вторым событием, для чего использовать флаг. после проверки флаг необходимо сбросить, дабы первое событие, вызванное не вторым событием, обработалось нормальным образом.

procedure TForm1.TrackBar1Change(Sender: TObject);
begin
 if TrackBar1.Tag = 0 then Track_SetPos(TrackBar1.Position);
 TrackBar1.Tag = 0;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
 TrackBar1.Tag = 1;
 TrackBar1.Position:= Track_GetPos;
end;

однако, у меня возникает вопрос: че ты будешь делать, если я перемещу ползунок, а кнопку мыши не отпущу пару секунд, и снова дерну мышь?


 
ЕщеОдинКакжеНадоели   (2012-11-23 01:56) [6]


> kilkennycat ©   (23.11.12 00:10) [5]


Дай я тебя расцелую!


 
ЕщеОдинКакжеНадоели   (2012-11-23 01:57) [7]


> TrackBarChange   (22.11.12 23:44) [4]
>
>
> > ЕщеОдинКакжеНадоели   (22.11.12 23:36) [3]
> > Чета я не понял
>
> Бросай это дело. Не твое это.


Не могу, меня заставляют.
Злобные и агрессивные мужички.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.05 c
15-1346925778
LDV
2012-09-06 14:02
2013.03.22
bat-файлы


4-1258536064
mambo
2009-11-18 12:21
2013.03.22
Градиентный прогрес в отдельном потоке


15-1350564105
neo1
2012-10-18 16:41
2013.03.22
Cisco выделил 5 млн рублей на стартап-проекты


15-1334133391
ПЛОВ
2012-04-11 12:36
2013.03.22
вопрос по TListView


2-1330341762
kate158
2012-02-27 15:22
2013.03.22
выравнивание по ширине+абзац в qreport




   Наверх