Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: 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 вся ветка

Текущий архив: 2013.03.22;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.047 c
15-1344156481
wl
2012-08-05 12:48
2013.03.22
машинка


2-1337677823
leklerk
2012-05-22 13:10
2013.03.22
функция NetMessageBufferSend


15-1341336305
alexdn
2012-07-03 21:25
2013.03.22
Фон для штмл странички


15-1337354166
Дуремар
2012-05-18 19:16
2013.03.22
Сломал клаву?


2-1328031868
fil-23
2012-01-31 21:44
2013.03.22
Фсе что на форме и форму в исходное состояние