1、創建和控件綁定的變量
創建和CProgressCtrl控件綁定的變量,選中進度條控件,右鍵點擊控件並選中菜單“Add Variable”,在如下界面中添加一個和控件綁定的變量,如圖所示,我定義的變量爲:m_ProgressBar
CProgressCtrl m_ProgressBar;
2、成員函數用法
//設置進度條的顯示值範圍
m_ProgressBar.SetRange(0,100);
//獲取進度條值的範圍
int iLower = 0;
int iUpper = 0;
m_ProgressBar.GetRange(iLower,iUpper);
//設置進度條移動步長
m_ProgressBar.SetStep(50);
//設置進度條當前值
m_ProgressBar.SetPos(50);
//獲取當前進度值
int iPos = m_ProgressBar.GetPos();
//移動進度條一段距離
m_ProgressBar.OffsetPos(10);
3、定時器和CProgressCtrl配合使用
3.1、添加定時器
在代碼中某處啓動定時器,代碼如下
//啓動定時器,定時器ID爲2,時長爲10S
SetTimer(2,10000,NULL);
3.2、添加定時器消息響應函數
打開類嚮導(資源編輯窗口右鍵並選擇“Class Wizard”菜單,或者同時按下Ctrl+Shift+X)
選擇Messages頁面,由於消息有很多,可以輸入關鍵字進行搜索,這裏我輸入的是timer,然後選擇WM_TIMER消息,在右邊選擇OnTimer作爲定時器消息的處理函數,然後點擊Edit Code按鈕,可以創建函數並編輯代碼
3.3、處理定時器消息
void CMFCTest1Dlg::OnTimer(UINT_PTR nIDEvent)
{
// TODO: Add your message handler code here and/or call default
/*一個應用程序中可能有設置了多個定時器,每個定時器都有1個ID作爲唯一標識
這裏“SetTimer(2,10000,NULL);”設置的定時器ID爲2,我們只處理ID爲2的消息即可*/
if (2 == nIDEvent)
{
m_ProgressBar.SetPos(100);
}
CDialogEx::OnTimer(nIDEvent);
}