1】拖動一個StatusBar1到窗口上,並添加三個StatusPanel,咱們將ID爲2的StatusPanel做爲進度條顯示;spa
2】聲名全局變量3d
private { Private declarations } //聲明一個進度條對象 MyProg:TProgressbar;//要在界面上放一個TProgressbar,不然會提示找不到單元
//聲明進度條要插入顯示的區域 MyRect2:TRect;
3】FormShow事件裏建立進度條TProgressbar對象 code
procedure TForm6.FormShow(Sender: TObject); begin //建立TProgressbar對象 MyProg:=TProgressbar.Create(Application); //父類爲狀態欄 MyProg.Parent:=StatusBar1; end;
4】設置顯示 範圍orm
procedure TForm6.StatusBar1DrawPanel(StatusBar: TStatusBar; Panel: TStatusPanel; const Rect: TRect); begin if Panel.ID =2 then MyRect2:=Rect; end;
5】設置爲自畫模式 對象
6】進度條 改變 並顯示blog
procedure TForm6.Button1Click(Sender: TObject); begin //設定進度條狀態 with MyProg do begin //設置長度、寬度和高度 left:=MyRect2.Left; top:=MyRect2.Top; width:=MyRect2.Right-MyRect2.Left; height:=MyRect2.Bottom-MyRect2.Top; //設置進度條的值 Min:=0; Max:=100; Position:=Position+10; //進度條可見 Visible:=True; end; end;
7】窗口大小變了,進度條長度也隨之改變 事件
procedure TForm6.FormResize(Sender: TObject); //窗口大小變了,進度條長度也隨之改變 begin with MyProg do begin //設置長度、寬度和高度 left:=MyRect2.Left; top:=MyRect2.Top; width:=MyRect2.Right-MyRect2.Left; height:=MyRect2.Bottom-MyRect2.Top; end; end;
相似地,在狀態欄裏顯示圖片圖片
private { Private declarations } Image1:TImage;//聲明一個圖片對象 MyRect0:TRect;//聲明圖片要插入的範圍 procedure TForm6.StatusBar1DrawPanel(StatusBar: TStatusBar; Panel: TStatusPanel; const Rect: TRect); begin if Panel.ID =1 then MyRect0:=Rect;//在狀態欄ID=1顯示圖片 end; procedure TForm3.Button2Click(Sender: TObject); begin//顯示圖片1 with Image1 do begin Parent:=StatusBar1; // Picture.LoadFromFile('OK.jpg'); left:=MyRect0.Left; Top:=MyRect0.Top; Width:=MyRect0.Right-MyRect0.Left; Height:=MyRect0.Bottom-MyRect0.Top; Visible:=True; BringToFront; end; end; procedure TForm3.Button3Click(Sender: TObject); begin//顯示圖片2 with Image2 do begin Parent:=StatusBar1; // Picture.LoadFromFile('OK.jpg'); left:=MyRect0.Left; Top:=MyRect0.Top; Width:=MyRect0.Right-MyRect0.Left; Height:=MyRect0.Bottom-MyRect0.Top; Visible:=True; BringToFront; end; end;