Графический ProgressBar для приложения Delphi
Когда Вы не знаете, сколько шагов необходимо для индикатора прогресса, Вы могли бы отображать непрерывную полосу или передвигающийся объект. UpdateImageProgress ссылается на управление TImage, показывающее изображение. Вызывая процедуру из внутренней части, например, события таймера (управления TTimer), будет достигнут эффект графического продвижения.
UpdateImageProgress сдвигает изображение вправо, используя границы изображения, таким образом создавая непрерывный индикатор прогресса.
// "перемещаем" изображение вправо на "step" шагов procedure UpdateImageProgress(const img : TImage) ; const step = 4; var b : TBitmap; begin with img.Picture.Bitmap do begin b := TBitmap.Create; try b.Width := Width; b.Height := Height; BitBlt(b.Canvas.Handle, step, 0, Width-step, Height, Canvas.Handle, 0, 0, SRCCOPY) ; BitBlt(b.Canvas.Handle, 0, 0, step, Height, Canvas.Handle, Width-step, 0, SRCCOPY) ; Assign(b) ; finally FreeAndNil(b) ; end; end; end;
Комментарии