Карта сайтаСсылкиКонтакты

Графический ProgressBar для приложения Delphi

PDF Печать
Статьи

Когда Ваше приложение исполняет длительную операцию, Вы можете использовать управление TProgressBar из набора Delphi для того, чтобы отображать, сколько времени прошло и сколько еще осталось.

Когда Вы не знаете, сколько шагов необходимо для индикатора прогресса, Вы могли бы отображать непрерывную полосу или передвигающийся объект. UpdateImageProgress ссылается на управление TImage, показывающее изображение. Вызывая процедуру из внутренней части, например, события таймера (управления TTimer), будет достигнут эффект графического продвижения.

Графический ProgressBar

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;

 

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


Защитный код
Обновить