Войти

Показать полную графическую версию : [решено] ProcessBar


NickDang
03-03-2012, 11:47
Здраствуйте, нужно зачудить такую штуку на рисунке с 4мя полосками ProcessBar . и чтобы эти полоски двигались вправо, а дойдя до конца процесбара, появлялись слева и продолжали то же самое.

Delirium
05-03-2012, 01:19
NickDang, в чем проблема то? Увеличиваем прогресс бар; когда его значение станет равно максимальному, отнимаем значения и так по кругу.

NickDang
05-03-2012, 15:59
procedure TForm1.Timer1Timer(Sender: TObject);
begin
progressbar1.Position := progressbar1.Position + 5;
if progressbar1.Position = 100 then timer1.Enabled := false;
PostMessage(ProgressBar1.Handle, $0409, 0, clGray);
end;

lxa85
05-03-2012, 16:37
Можно и так. Я бы правда условие поставил больше или равно. Т.к. значение прогресбара может и перейти за 100 (ну мало ли), не остановив таймер.
А еще наверно правильней - посмотреть по внимательней свойства ProgressBar. У него должно быть много параметров, отвечающих за "размер прогресса" в том числе.

NickDang
05-03-2012, 18:53
какой код нужен чтобы значение обнулялось после 100 и заново продолжало...

Delirium
06-03-2012, 02:34
NickDang, ты вообще язык этот знаешь хоть немного или нет? Что, значение прогрессбара в ноль поставить, это такой сложный процесс?

NickDang
06-03-2012, 14:24
я учусь ) с паскалем немного разобрался.
ну приравнять нулю, значит это дописать в конце, и тогда он останавливается там и не продолжает...
progressbar1.Position :=0

opel431
08-03-2012, 12:19
и тогда он останавливается там и не продолжает »
Так измените код NickDang:

progressbar1.Position := progressbar1.Position + 1;
if progressbar1.Position >= 100 then
progressbar1.Position =0;

В свойствах таймера Interval:=100;

Получите бесконечный цикл! Вообще, смотрите свойства Max, Min, Step.

Судя по вложению, Вы хотели получить прогресс с бесконечным циклом иного варианта. Не знаю, в какой версии Вы работаете, поэтому предложу простое - поищите Графический ProgressBar для приложения Delphi.




© OSzone.net 2001-2012