天天看點

MFC程式設計執行個體二:進度條的使用

MFC程式設計執行個體二:進度條的使用  

(以下藍色字型為手動添加的代碼)

(1)   建立一個基于對話框的應用程式。

(2)   在對話框界面添加一個文本框、一個進度條控件(Progress控件)和一個按鈕。

(3)   為Progress控件添加一個變量m_ctrlProgress,文本框添加一個變量m_strText。

(4)   在初始化函數中添加如下代碼

BOOL CBbbDlg::OnInitDialog()

{

       CDialog::OnInitDialog();

…………

// TODO: Add extra initialization here

       SetDlgItemText(IDC_EDIT1,_T("0%"));

       //設定進度條的範圍

       m_ctrlProgress.SetRange(0,100);

       //設定進度條的每一步的增量

       m_ctrlProgress.SetStep(10);

       //設定進度條的目前位置

       m_ctrlProgress.SetPos(0);

       return TRUE;  // return TRUE  unless you set the focus to a control

}

(5)   輕按兩下按鈕,添加如下代碼:

void CBbbDlg::OnButton1()

{

       // TODO: Add your control notification handler code here

       UpdateData(false);

       //擷取進度條的位置範圍的最大值和最小值

       int nLower=0;

       int nUpper=0;

       m_ctrlProgress.GetRange(nLower,nUpper);

       if(m_ctrlProgress.GetPos()==nUpper){

              m_ctrlProgress.SetPos(nLower);

       }

       //用每一步的增量來增加進度條的目前位置

       m_ctrlProgress.StepIt();

       //擷取進度條的目前位置

       int nPos=(m_ctrlProgress.GetPos()-nLower)*100/(nUpper-nLower);

       CString s;

       s.Format("%d",nPos);

       m_strText=s+"%";

       UpdateData(false);

       }

運作結果:

(單擊測試按鈕進度條位置前進一步,要實作自動前進,需要設定定時器,本文暫時不介紹定時器的運用)

MFC程式設計執行個體二:進度條的使用

參考文獻:曲揚,Visual C++實效程式設計280例,人民郵電出版社,2009.3

參考:MFC 進度條 百度