我在OnInitDialog中有如下代码:
CProgressCtrl* pProg=(CProgressCtrl*)GetDlgItem(IDC_PROGRESS1);
pProg->SetRange(0,100);
pProg->SetPos(m_nProgress);
在构造函数中定义了m_nProgress的值为0,为什么运行时显示的进度条的位置不是0,而是大约进度条的70%的位置呢?

解决方案 »

  1.   


    把这句注释掉,再看看怎么样?
    //pProg->SetPos(m_nProgress);
      

  2.   

    首先写成pProg->SetPos(0);试一下,如果是初始位置是0,说明m_nProgress的值一定不是0,即使你在构造时赋值为0,在其他地方是不是改变了呢?
      

  3.   

    为什么构造函数中初始化m_nProgress的值为0,而在任何过程中均未改变其值,而在pProg->SetPos(m_nProgress),m_nProgress的值却被改变了呢?