如何在状态栏里面加入进度条呢?(100分)

  • 主题发起人 主题发起人 gouer
  • 开始时间 开始时间
G

gouer

Unregistered / Unconfirmed
GUEST, unregistred user!
希望给我一个范例,多谢了
 
可将进度条放在状态栏里面
下面这个控件可完成:
unit pgBar;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ComCtrls;

type
TpgStatusBar = class(TStatusBar)
private
{ Private declarations }
protected
{ Protected declarations }
public
{ Public declarations }
Constructor Create(Aowner : TComponent); override;
published
{ Published declarations }
end;

procedure Register;

implementation

Constructor TpgStatusBar.Create(Aowner : TComponent);
begin
inherited Create(Aowner);
ControlStyle:= ControlStyle + [csAcceptsControls];
end;

procedure Register;
begin
RegisterComponents('aerobull', [TpgStatusBar]);
end;

end.
 
动态创建个进度条,然后把parent 指向 TStatusBar 余下的事儿就是设置进度条的尺寸了。
 
这是个例子,
放个TStatusBar 然后建立3个TStatusPanel,
下面的代码把 ProgressBar 放到了第二个格子里面了。

var
P: TProgressBar;
begin
P:= TProgressBar.Create(self);
p.Parent:= StatusBar1;
p.Top:= StatusBar1.BorderWidth + 2;
p.Height:= StatusBar1.Height - (StatusBar1.BorderWidth + 2);
p.Left:= StatusBar1.Panels[0].Width + StatusBar1.BorderWidth + 2;
p.Width:= StatusBar1.Panels[1].Width + StatusBar1.BorderWidth - 2;
p.Position:= 50;
end;
 
后退
顶部