MFC控件學習—CProgressCtrl

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);
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章