【发布时间】:2014-04-17 08:15:20
【问题描述】:
我正在使用 MFC,如何检查进度条已完成更新 (100%),我想在完成任务时关闭对话框,我正在使用
if(mProgress.GetPos()==100)
{
Sleep(3000);
EndDialog(IDD_DIALOG_PROGRESS_BAR);
}
但它关闭对话框的进度大约是 90%,我知道:进度条控件的位置不是屏幕上的物理位置,但如何做到这一点?请帮帮我。
【问题讨论】:
-
什么是 Sleep(3000) 阻塞 GUI 3 秒?
-
你在 CProgressCtrl 上设置了什么范围和步长?
-
为什么要检查 CProgressCtrl 是否完成?通常你有一些动作正在进行,你更新 CProgressCtrl 的进度。所以完成的主要来源是您的操作,而不是 CProgressCtrl。
-
好的 Werner Henze,我的程序可以将文件从 PC 发送到移动设备,并且它有一个进度条来显示进度。发送文件完成后,我想关闭进度条,但是进度条仍然无法更新到 100% 并关闭。
-
您应该考虑使用单独的线程来处理可能需要一段时间的处理。
标签: visual-c++ mfc