procedure TForm1.StatusBar1DrawPanel(StatusBar: TStatusBar; Panel: TStatusPanel; const Rect: TRect); var ico:TIcon; begin if Panel.Index=0 then begin ico:=TIcon.Create; ico.LoadFromFile('图片路径'); StatusBar.Canvas.Draw(Rect.Left,Rect.Top,ico); ico.Free; end; prect:=rect; end;
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ComCtrls;type
TForm1 = class(TForm)
StatusBar1: TStatusBar;
Button1: TButton;
procedure StatusBar1DrawPanel(StatusBar: TStatusBar;
Panel: TStatusPanel; const Rect: TRect);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
progressbar:TProgressBar;
prect:TRect;
end;var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.StatusBar1DrawPanel(StatusBar: TStatusBar;
Panel: TStatusPanel; const Rect: TRect);
var ico:TIcon;
begin
if Panel.Index=0 then
begin
ico:=TIcon.Create;
ico.Handle:=Application.Icon.Handle;
StatusBar.Canvas.Draw(Rect.Left,Rect.Top,ico);
ico.Free;
end;
prect:=rect;
end;procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
progressbar:=TProgressBar.Create(self);
progressbar.Width:=StatusBar1.Panels[1].Width;
progressbar.Height:=StatusBar1.Height;
progressbar.Left:=prect.Left;
progressbar.Top:=prect.Top;
progressbar.Parent:=StatusBar1;
progressbar.Visible:=true;
for i:=1 to 100 do
begin
sleep(10);
progressbar.Position:=progressbar.Position+1;
end;
end;end.
Panel: TStatusPanel; const Rect: TRect);
var ico:TIcon;
begin
if Panel.Index=0 then
begin
ico:=TIcon.Create;
ico.LoadFromFile('图片路径');
StatusBar.Canvas.Draw(Rect.Left,Rect.Top,ico);
ico.Free;
end;
prect:=rect;
end;