Jump to content


Photo

Barra de progreso infinita


  • Please log in to reply
1 reply to this topic

#1 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4107 posts
  • LocationMadrid - España

Posted 07 November 2016 - 09:43 AM

Tras la respuesta que di a JoAnCa aquí y para que quede ordenado en el foro como un truco más, publico el código de una barra de progreso infinita para tareas críticas en las que no conocemos ni podemos aventurar el tiempo que tardará una tarea:
 


delphi
  1. unit Unit1;
  2.  
  3. interface
  4.  
  5. uses
  6. Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  7. Dialogs, StdCtrls, ComCtrls, ExtCtrls;
  8.  
  9. type
  10. TForm1 = class(TForm)
  11. ProgressBar1: TProgressBar;
  12. Strat: TButton;
  13. Stop: TButton;
  14. procedure FormCreate(Sender: TObject);
  15. procedure StratClick(Sender: TObject);
  16. procedure StopClick(Sender: TObject);
  17. private
  18. { Private declarations }
  19. public
  20. { Public declarations }
  21. end;
  22.  
  23. var
  24. Form1: TForm1;
  25.  
  26. implementation
  27.  
  28. {$R *.dfm}
  29.  
  30. const PBM_SETMARQUEE = WM_USER + 10;
  31.  
  32. procedure TForm1.FormCreate(Sender: TObject);
  33. begin
  34. SetWindowLong(ProgressBar1.Handle, GWL_STYLE, GetWindowLong(ProgressBar1.Handle, GWL_STYLE) or PBM_SETMARQUEE);
  35. end;
  36.  
  37. procedure TForm1.StratClick(Sender: TObject);
  38. begin
  39. SendMessage (ProgressBar1.Handle, PBM_SETMARQUEE, 1, 20); // Activa 100ms
  40. end;
  41.  
  42. procedure TForm1.StopClick(Sender: TObject);
  43. begin
  44. SendMessage (ProgressBar1.Handle, PBM_SETMARQUEE, 0, 20); // Desactiva
  45. end;
  46.  
  47. end.

 

Saludos.


  • 2

#2 sir.dev.a.lot

sir.dev.a.lot

    Advanced Member

  • Miembros
  • PipPipPip
  • 545 posts
  • Location127.0.0.1

Posted 25 December 2016 - 12:22 PM

TAdvSmoothProgressBar

 

http://www.tmssoftwa...progressbar.asp

 

Saludos!


  • 1




IP.Board spam blocked by CleanTalk.