1.我弄了一个进度条在窗体上,然后用一个定时器每一段时间更新一下状态.但是进度满了之后还是不停的增加.我关闭窗体的时候出现错误.是怎么回事啊我的代码
OnInitDialog:
this->m_Progress.SetRange(0,1000);
this->m_Progress.SetPos(0);
this->m_Progress.SetStep(1);
this->m_Progress.StepIt(); SetTimer(1,3000,NULL);
OnTimer:
void CTttDlg::OnTimer(UINT nIDEvent)
{
this->m_Progress.StepIt();
CTttDlg::OnTimer(nIDEvent);
}2.如果我要在程序运行的时候显示当前进度,有什么好的办法吗

解决方案 »

  1.   

    1.在Step之前用GetPos判断一下是否超出了Range?
    提示什么错误?
    2。当前进度?与具体的上下文相关吧。
      

  2.   

    我现在改成这个样子了
    this->m_Progress.SetRange(0,500);
    this->m_Progress.SetPos(0);
    this->m_Progress.SetStep(1);
    this->m_Progress.StepIt(); SetTimer(1,100,NULL);void CTttDlg::OnTimer(UINT nIDEvent)
    {
    if(this->m_Progress.GetPos()<=500)
    {
    this->m_Progress.StepIt();
    }

    }可是进度条满了之后又重头开始了
    应该怎么做啊
      

  3.   

    if(this->m_Progress.GetPos()<=500)
    =>
    if(this->m_Progress.GetPos()<500)