您的位置:首页 > 编程语言

MFC编程实例二:进度条的使用

2016-06-02 13:58 295 查看

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);
       }
 
运行结果:
(单击测试按钮进度条位置前进一步,要实现自动前进,需要设置定时器,本文暂时不介绍定时器的运用)



 
 
参考文献:曲扬,Visual C++实效编程280例,人民邮电出版社,2009.3
参考:MFC 进度条 百度

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: