CProgess *pProgCtrl=(CProgess*)GetDlgItem(IDC_PROGRESS);
pProgCtrl->m_Prog.SetRange32(0,999999);
for(int m=0;m<999999;m++)
{
pProgCtrl->m_Prog.SetPos(m);
}麻烦大神帮我看下,非常感谢!

解决方案 »

  1.   

    UINT ThreadFun(LPVOID pThreadParam)
    {
    CBeamtechDlg* pObj = (CBeamtechDlg *)pThreadParam;
    pObj->WorkCycle();
    return 0;
    }
    这个是建立的线程函数,调用CBeamtechDlg类中的WorkCycle()函数,上面代码就在这个函数中,非常感谢!
      

  2.   

    你不能在其他线程里调用和GUI相关的类,即使能用,也非常危险。建议线程发自定义的消息给主界面,然后在主界面的消息响应函数里面操作,确保安全好用!
      

  3.   

    前提是有ProgressCtrl的进程不能处于消息阻塞状态
      

  4.   

    起初我做的时候是在WorkCycle()里有个for循环,但是实际执行时程序会显示未响应。所以我考虑改为线程去操作,请问大神们,不知这个思路是否正确?还有,如果用线程来做的,自定义发送消息该如何实现?非常感谢!
      

  5.   


    你把代码发给我,[email protected]
      

  6.   


    你把代码发给我,[email protected]已发送,非常感谢!