Содержание материала

Способ 2

 

Code:

uses Commctrl;

const

MaxProgress = 50;

var pb: TProgressBar;

 

function GetPanelRect: TRect;

begin

SendMessage(Form1.StatusBar1.Handle, SB_GETRECT, 0, integer(@result));

end;

 

procedure TForm1.FormCreate(Sender: TObject);

begin

with StatusBar1.Panels.Add do begin

  Width := 100;

  Style := psOwnerDraw;

end;

with StatusBar1.Panels.Add do begin

  Width := 0;

  Text := 'abc';

end;

Timer1.Enabled := false;

Timer1.Interval := 50;

pb := TProgressBar.Create(StatusBar1);

pb.Visible := false;

pb.Parent := StatusBar1;

pb.BoundsRect := GetPanelRect;

pb.Smooth := true;

pb.Step := 1;

end;

 

procedure TForm1.Button1Click(Sender: TObject);

begin

Timer1.Enabled := true;

pb.Position := 0;

pb.Max := MaxProgress;

pb.Visible := true;

end;

 

procedure TForm1.Timer1Timer(Sender: TObject);

begin

Timer1.Tag := Timer1.Tag + 1;

if Timer1.Tag >  MaxProgress then begin

  Timer1.Enabled := false;

  Timer1.Tag := 0;

  pb.Visible := false;

end else pb.StepIt;

end;

 

 

Даниил Карапетян.

На сайте https://delphi4all.narod.ru Вы найдете еще более 100 советов по Delphi.

Email: Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.

 

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

Не использовать не нормативную лексику.

Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.

ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!


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