1.進度條
主要用來進行數據讀寫、文件拷貝和磁盤格式等操作時的工作進度提示情況,如安裝程序等,伴隨工作進度的進展,進度條的矩形區域從左到右利用當前活動窗口標題條的顏色來不斷填充。
2.進度條控制在MFC類庫中的封裝類為CProgressCtrl,通常僅作為輸出類控制,所以其操作主要是設置進度條的范圍和當前位置,並不斷地更新當前位置。進度條的范圍用來表示整個操作過程的時間長度,當前位置表示完成情況的當前時刻。
SetRange()函數用來設置范圍,初始范圍為0-100,
SetPos()函數用來設置當前位置,初始值為0,
SetStep()函數用來設置步長,初始步長為10,
StepIt()函數用來按照當前步長更新位置,
OffsetPos()函數用來直接將當前位置移動一段距離。如果范圍或位置發生變化,那么進度條將自動重繪進度區域來及時反映當前工作的進展情況。
3.實例
1)簡單用法(這里我們是在控件上定義了一個類型為CProgressCtrl的m_Progress的成員變量,但是我在vc里面發現我定義了以后調試程序程序跑不了,我們可以換個辦法,
((CProgressCtrl*)GetDlgItem(IDC_PROGRESS1))->ShowWindow(true);
首先用GetDlgItem得到控件的句柄,然后強制類型轉換,然后訪問對應的成員函數.
)
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); //設置進度條的位置
}