16,548
社区成员




CProgressCtrl m_progress;
m_nCalculagraph; //记录跳的次数(初始化为0)
#define ID_TIMER_PROCESS 505
......
BOOL CWaitDlg::OnInitDialog(void)
{
CDialog::OnInitDialog();
m_progress.SetRange(0, 30); //总共跳30次
m_progress.SetStep(1); //每次跳的步进值为1
m_progress.SetPos(0); //初始位置为0
m_nCalculagraph = 0; //计数,记录跳的次数,一共跳30次(3s)
SetTimer(ID_TIMER_PROCESS, 100, NULL); //100*30=3000,每100ms跳一次,跳30次正好3000ms
return TRUE;
}
void CWaitDlg::OnTimer(UINT nIDEvent)
{
if(nIDEvent == ID_TIMER_PROCESS)
{
if(m_nCalculagraph < 30)
{
m_progress.StepIt(); //向前跳1次
m_nCalculagraph++; //计数
}
else //跳完30步,关闭定时器,退出对话框
{
KillTimer(ID_TIMER_PROCESS);
OnOK();
}
}
CDialog::OnTimer(nIDEvent);
}