Delphi程式設計中在狀態列動態新增進度條

2021-04-06 19:54:27 字數 1875 閱讀 5745

delphi程式設計中在狀態列動態新增進度條

一般情況下,我們可以建立非模式對話方塊並在上面顯示進度條。如果能夠利用狀態條,在狀態條中動態地新增並顯示進度條,將會更加方便直觀。下面將講述如何在delphi 5中程式設計實現在狀態條中動態地新增進度條。具體的過程如下:

2.在窗體中新增乙個狀態列元件statusbar1,乙個button元件button1。在狀態列編輯器中為狀態列新增兩個顯示面板,因為後面將要在第二個面板中顯示進度條,所以將第二個面板的style屬性設定為psownerdraw。將button1元件的caption屬性設定為「演示操作」。

3.在unit1.pas檔案的tform1的型別定義中新增下面的變數定義:

......

private

progressbar:tprogressbar;// 進度條元件

progressbarrect:trect; // 進度條元件的尺寸

public

......

4.在狀態列的ondrawpanel事件的處理過程中,獲取將style屬性設定為psownerdraw的面板的尺寸。新增statusbar1元件的ondrawpanel事件的處理過程如下:

procedure tform1.statusbar1drawpanel(statusbar: tstatusbar;

panel: tstatuspanel; const rect: trect);

begin

progressbarrect:=rect;

end;

5.在按下按鈕button1元件時將執行乙個模擬計算過程的迴圈操作,同時動態地在statusbar1的第二個面板中建立並顯示progressbar元件,並將其父級設定為statusbar1元件。新增button1元件的onclick事件的處理過程如下:

procedure tform1.button1click(sender: tobject);

var

// i為迴圈變數, stepcount為執行迴圈的總數目

i,stepcount : integer;

begin

//動態建立進度條元件progressbar

progressbar:=tprogressbar.create(form1);

stepcount:=10000; // 迴圈的總數目

with progressbar do

begin

// 先確定進度條元件的尺寸和位置

top:=progressbarrect.top;

left:=progressbarrect.left;

width:=progressbarrect.right-progressbarrect.left;

height:=progressbarrect.bottom-progressbarrect.top;

visible:=true; // 使進度條可見

try

parent:=statusbar1; // parent屬性設定為狀態列元件

min:=0;// 設定進度條的範圍和步長

max:=stepcount;

step:=1;

for i:=1 to stepcount do

begin

stepit;// 迴圈使進度顯示條累加

end;

messagedlg(′演示操作已經完成!′, mtinformation, [mbok], 0);

finally

free;// 最後釋放進度條元件占用的資源

end;

end;

end;

通過這種方法我們就可以在狀態條中動態地新增進度條,同樣的原理還用於在狀態列中新增其他的元件,過程基本一致。以上程式在delphi 5、windows98中除錯通過。  

winform中的狀態列,以及在狀態欄目上顯示時間

1 在winform上新增狀態列,並且在狀態欄目上多新增幾個label。step1 拖乙個statusstrip到winform上,名字預設為statusstrip1。找到statusstrip1的items屬性,雙擊開啟新增3個statuslabel。名字預設分別為toolstripstatusl...

在狀態列動態加進度條

一般情況下,我們可以建立非模式對話方塊並在上面顯示進度條。如果能夠利用狀態條,在狀態條中動態地新增並顯示進度條,將會更加方便直觀。下面將講述如何在delphi 5中程式設計實現在狀態條中動態地新增進度條。具體的過程如下 2 在窗體中新增乙個狀態列元件statusbar1,乙個button元件butt...

在狀態列顯示時間

單文件 在導向程式的第四步中選中 initial status bar resourceview stringtable 中新增乙個新的字串ids clock caption 0000 00 00 00 00 00 static uint indicators 在cmainframe 類 wm cr...