精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● Delphi>>控件开发和使用>>请问如何在StatusBar中显示进程条?

主题:请问如何在StatusBar中显示进程条?
发信人: sender()
整理人: teleme(2000-12-06 19:10:34), 站内信件
【 在 gsta (fido) 的大作中提到: 】
: Delphi好像不能把ProgressBar放在StatusBar的Panels中,
: 那如何实现在StatusBar中显示进程条呢?
: 谢谢!

给你一个DEMO:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dia
logs,
  StdCtrls, ComCtrls;

type
  TForm1 = class(TForm)
    StatusBar1: TStatusBar;
    Button1: TButton;
    procedure StatusBar1DrawPanel(StatusBar: TStatusBar;
      Panel: TStatusPanel; const Rect: TRect);
    procedure Button1Click(Sender: TObject);
  private
    progressbar: TProgressBar;
    barRect: TRect;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.StatusBar1DrawPanel(StatusBar: TStatusBar;
  Panel: TStatusPanel; const Rect: TRect);
begin
  barRect := Rect;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  I, StepCount : integer;
begin
progressBar := TProgressBar.Create (Form1);
StepCount := 1000;
with progressbar do
  begin
  top := barrect.top;
  left := barrect.left;
  width := barrect.right - barrect.left;
  height := barrect.bottom - barrect.top;
  visible := true;
  try
    parent := statusbar1;
    min := 0;
    max := stepcount;
    step := 1;
    for i := 1 to stepcount do
      stepit;
  finally
    free;
  end;
  end;
end;


end.

--
http://sender.163.net | http://sender.yeah.net
*              iTimer - 网络时间钟
*         Wave Master - 音频处理软件
* Matrix Screen Saver - 黑客帝国屏幕保护
-- 请在“给作者寄一份”打个勾,谢谢。--

※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.105.34.110]

[关闭][返回]