/*****
进度条的处理:
--涉及函数: OnBnClickedBtnBakStart(开始备份),DoWithProcess
实现步骤:
在CBackupToolDlg.h中新建一个CProgressCtrl类型的变量m_wndProgress,然后在其CPP文件中的DoDataExchange函数中将此变量与进度条控件做关联,即
DDX_Control(pDX, IDC_PROGRESS_BAR, m_wndProgress);将其做关联,实现对变量的操作,控制也做相应变化;然后在OnBnClickedBtnBakStart中调
用DoWithProcess作相应的处理。
*****/
//////////////////////////////////////////////////////////////////////////--zwh--注:处理进度条
BOOL CBackupToolDlg::DoWithProcess(CString msg)
{
m_wndProgress.SetRange(0,100); //设置范围;
m_wndProgress.SetPos(0); //设置起点;
char precent[5] = "0"; //存放百分比数;
for(int i=0;i<=100;i++)
{
m_wndProgress.SetPos(i); //设置进度条的终点(从起点至终点的那段是填充了的);
sprintf_s(precent,5,"%d%%",i);//如果要显示%号,得前面再加一个%方可;
CString strPrecent(precent);
GetDlgItem(IDC_PROCESS_PRECENT)->SetWindowText(strPrecent.GetBuffer());
::Sleep(25);//25ms暂停一下;
}
AfxMessageBox(msg.GetBuffer());
m_wndProgress.SetPos(0);//复原
GetDlgItem(IDC_PROCESS_PRECENT)->SetWindowText(_T("0%")); //复原
return TRUE;
}
//////////////////////////////////////////////////////////////////////////--zwh--注:处理进度条
评论