Este código muestra como poner un progressbar en un form.
Se crea en tiempo de ejecución y se presenta justo antes de que se muestre el form.
Se puede usar en cualquier parte del programa donde se necesite.
Espero les sirva.
delphi
procedure TForm1.DialogTimer(Sender: TObject) ; var aPB : TProgressBar; begin if NOT (Sender is TTimer) then Exit; if ((Sender as TTimer).Owner) is TForm then with ((Sender as TTimer).Owner) as TForm do begin aPB := TProgressBar(FindComponent('Progress')) ; if aPB.Position >= aPB.Max then ModalResult := mrCancel else aPB.StepIt; end; end;
Cuando se crea el form:
delphi
procedure TForm1.FormCreate(Sender: TObject); var AMsgDialog : TForm; AProgressBar : TProgressBar; ATimer : TTimer; begin AMsgDialog := CreateMessageDialog('El Programa se esta cargando, Espere', mtWarning, []) ; AProgressBar := TProgressBar.Create(AMsgDialog) ; ATimer := TTimer.Create(AMsgDialog) ; with AMsgDialog do try Tag := 5; // aqui se cambian los segundos Caption := 'En Proceso, espere'; Height := 100; with AProgressBar do begin Name := 'Progress'; Parent := AMsgDialog; Max := AMsgDialog.Tag; Step := 1; Top := 50; Left := 8; Width := AMsgDialog.ClientWidth - 16; end; with ATimer do begin Interval := 1000; OnTimer:=DialogTimer; end; case ShowModal of ID_CANCEL: // end; finally ATimer.OnTimer := nil; Free; end; end;
Saludos
Editado por egostar: Etiquetas Delphi