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...