在CProgressCtrl上完成更新后关闭对话框

时间:2014-04-17 08:15:20

标签: visual-c++ mfc

我正在使用MFC,如何检查进度条完成更新(100%),我想在完成任务时关闭对话框,我正在使用

 if(mProgress.GetPos()==100)
{   

    Sleep(3000);
    EndDialog(IDD_DIALOG_PROGRESS_BAR);

}

但它关闭进度对话框大约是90%,我知道:进度条控件的位置不是屏幕上的物理位置,但如何做到这一点?请帮帮我。

1 个答案:

答案 0 :(得分:0)

也许您的程序太忙于复制到移动设备,因此用户界面落后于其计划。尝试将此代码添加到您的副本循环中,以便为UI提供时间:

    MSG msg;
    // Handle dialog messages
    while(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
    {
      if(!IsDialogMessage(&msg))
      {
        TranslateMessage(&msg);
        DispatchMessage(&msg);  
      }
    }