天天看點

MfC 進度條控件

1.進度條

        主要用來進行資料讀寫、檔案拷貝和磁盤格式等操作時的工作進度提示情況,如安裝程式等,伴随工作進度的進展,進度條的矩形區域從左到右利用目前活動窗體标題條的顔色來不斷填充。 

2.進度條控制在MFC類庫中的封裝類為CProgressCtrl,通常僅作為輸出類控制,是以其操作主要是設定進度條的範圍和目前位置,并不斷地更新目前位置。進度條的範圍用來表示整個操作過程的時間長度,目前位置表示完畢情況的目前時刻。

SetRange()函數用來設定範圍,初始範圍為0-100,

SetPos()函數用來設定目前位置,初始值為0,

SetStep()函數用來設定步長,初始步長為10,

StepIt()函數用來依照目前步長更新位置,

OffsetPos()函數用來直接将目前位置移動一段距離。假設範圍或位置發生變化,那麼進度條将自己主動重繪進度區域來及時反映目前工作的進展情況。 

3.執行個體

    1)簡單使用方法

m_Progress.SetRange(1,100);

for(int i=0;i<100;i++)

{

m_Progress.StepIt();

Sleep(10);

    2)關于接受時進度條的應用:

DWORD dwSize = recv()//先接收檔案的大小;

m_ProgressCtrl.SetRange32(0, nSize); //設定進度條的範圍

DWORD dwRecv = 0;

while(dwRecv < dwSize)

dwRecv += recv(); //接收檔案

m_ProgressCtrl.SetPos(dwRecv); //設定進度條的位置

}