1. 程式人生 > >MFC基於對話方塊程式設計例項:使用“未定義進度”的進度條(有一節小進度在進度條中滾動)

MFC基於對話方塊程式設計例項:使用“未定義進度”的進度條(有一節小進度在進度條中滾動)

效果展示-------

(由於gif的錄製問題,進度顯示不連貫,實際上效果很不錯的)

程式例項-------

1、開啟Visual Studio(此文以VS2010做例子),新建一個基於對話方塊的MFC程式,命名為Progress。

2、向對話方塊中拖入一個Progress控制元件、一個Check Box,調整好控制元件和對話方塊的大小。

3、設定ID:進度條IDC_PROGRESS、複選框IDC_CHECK,注意大小寫

4、更改進度條的屬性:Marquee為True。

5、為進度條新增CProgressCtrl變數:m_progress

6、在CProressDlg的OnInitDialog函式中新增程式碼:

m_progress.SetMarquee(TRUE,30); //設定進度條的進度段長度
((CButton*)GetDlgItem(IDC_CHECK))->SetCheck(1); //預設複選框為選中狀態

7、為複選框新增按下處理程式OnBnClickedCheck,函式程式碼如下:

void CProgressDlg::OnBnClickedCheck()
{
	// TODO: 在此新增控制元件通知處理程式程式碼
	BOOL bChecked = ((CButton*)GetDlgItem(IDC_CHECK))->GetCheck(); //把複選框選中狀態傳遞給bChecked
	if(bChecked) //如果複選框被選中
		m_progress.ModifyStyle(NULL,WS_VISIBLE); //使進度條可見
	else //如果複選框沒有被選中
		m_progress.ModifyStyle(WS_VISIBLE,NULL); //使進度條不可見

	Invalidate(); //重繪視窗
}

8、現在可以生成應用程式了。

9、啟動除錯,就可以看到效果。預設進度條顯示,複選框選中,取消複選框選擇即可隱藏進度條;再次選中即可出現進度條。