Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Вниз

Трабла с 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.069 c
15-1349072562
NailMan
2012-10-01 10:22
2013.03.22
Что то не было давно весте с небесного фронта


2-1328793010
Че
2012-02-09 17:10
2013.03.22
Приложение виснет и потребляет память на win7-x64, при этом все о


2-1331031997
Scott Storch
2012-03-06 15:06
2013.03.22
приводить к типу DWORD


2-1326742131
Рома
2012-01-16 23:28
2013.03.22
Нужно сделать трассировку


1-1300884510
Ольга
2011-03-23 15:48
2013.03.22
Определить путь к DLL из EXE





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский