Создаем Анимированный ProgressBar

Опубиковано: 28.09.2008 г., автор: , просмотров: 38747

Delphi уроки: Создаем Анимированный ProgressBar.

Всем привет в этом уроке мы научимся создавать свой анимированный ProgressBar, подойдет он для тех случаев когда точное число шагов неизвестно, ну в общем скоро вы все поймете ) Итак поехали:

Открываем Delphi и как всегда создаем новый проект, кидаем на форму компонент Timer с закладки System и компонент Image с закладки Additional, больше компонентов у нас не будет! Двигаемся дальше, сейчас нам нужно будет создать одну небольшую процедурку поэтому переходим в код находим там ключевое слово public и после него пишем

procedure GoImgProgress (Const IMG: TImage);

Нажимаем комбинацию клавиш Ctrl+Shift+C Delphi генерирует нам шаблон будущей процедуры. Теперь посмотрите то что должно получиться в конце и допишите к своему шаблону недостающие строчки.

procedure TForm1.GoImgProgress(const IMG: TImage);
const
step=2;
var
f:Tbitmap;
begin
with image1.Picture.Bitmap do // Image1 - это имя компонента image
begin
f:= Tbitmap.create;
try
f.width:=width;
f.height:=height;
BitBlt(f.Canvas.Handle, step, 0, Width-step, Height, Canvas.Handle, 0, 0, SRCCOPY) ;
BitBlt(f.Canvas.Handle, 0, 0, step, Height, Canvas.Handle, Width-step, 0, SRCCOPY) ; ;
Assign(f) ;
finally
FreeAndNil(f) ;
end;
end;
end;

Ну что я надеюсь что вы справились, потому что сейчас нам нужно будет загрузить в компонент image1 какую ни будь картинку в формате bmp. Кликаем два раза на компонент image, далее жмем load и выбираем нужную картинку. Лично я пользовался вот этой:

анимированный progressBar
скачать эту картинку в формате bmp

Далее переходим к компоненту timer, свойство interval ставим 100, свойство Enabled ставим true. Создаем обработчик событий (OnTimer) на нашем таймере - два раза кликаем по нему и между словами begin end пишем:

GoImgProgress(image1);

Вот и всё, теперь вы умеете создавать анимированный Progressbar ! Запускаем проект и наслаждаемся !)

P.S. На счет вопроса о том как я продвигаю этот сайт, уфф... много сил и времени было потрачено, а на счет того сколько способов перепробовал, я вообще молчу. Сейчас использую один очень интересный сервис для продвижения ссылками (Rookee), который автоматизирует большинство рутинных процессов. Как итог позиции вверх, а улыбка шире )) Также
Не забываем подписываться на бесплатную мультимедийную рассылку.
Форма для подписки расположена с права и с лева.

До встречи DelphiExpert.ru !!!



Похожие материалы

Последние из рубрики

Barabashka 20 Oct 2009 в 00:00 #
Люди если что то не понятно смотрите предыдущие уроки, где что и как ! Допетрите все есть!
lamer 07 Sep 2009 в 00:00 #
А куда таймер дели? и как запустить прогресс бар?
lamer 07 Sep 2009 в 00:00 #
правильно будет вот так:
procedure TForm1.Timer1Timer(Sender: TObject);
const
step=2;
var
f:Tbitmap;
begin
with image1.Picture.Bitmap do // Image1 - ýòî èìÿ êîìïîíåíòà image
begin
f:= Tbitmap.create;
try
f.width:=width;
f.height:=height;
BitBlt(f.Canvas.Handle, step, 0, Width-step, Height, Canvas.Handle, 0, 0, SRCCOPY) ;
BitBlt(f.Canvas.Handle, 0, 0, step, Height, Canvas.Handle, Width-step, 0, SRCCOPY) ; ;
Assign(f) ;
finally
FreeAndNil(f) ;
end;
end;
end;

end.
lamer 07 Sep 2009 в 00:00 #
короче надо писать в таймере
NexxON 15 Jul 2009 в 00:00 #
У меня одни ошибки выдаёт (((

ОтменитьДобавить комментарий