VC 进度条问题
我想给运行中的进度条添加一个暂停按钮,代码如下:voidCProgressbarwithtextDlg::OnPause()//暂停{//TODO:Addyourcont...
我想给运行中的进度条添加一个暂停按钮,代码如下:
void CProgressbarwithtextDlg::OnPause() //暂停
{
// TODO: Add your control notification handler code here
bpause=!false;
}
void CProgressbarwithtextDlg::Onstart() //开始
{
// TODO: Add your control notification handler code here
UpdateData();
bpause=false;
SetDlgItemText(IDC_STATIC,""); //将显示pass的显示框内容清掉
GetDlgItem(IDC_PROGRESS1)->ShowWindow(SW_SHOW);
int static i=0;
m_prog.SetPos(0);
m_prog.SetStep(1);
for (i=0;i<100&&bpause!=!false;i+=1)
{
m_prog.StepIt();
Sleep(10);
}
if (i==100)
{
m_prog.SetPos(0);
GetDlgItem(IDC_PROGRESS1)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC)->SetFont(m_font);
SetDlgItemText(IDC_STATIC,"PASS");
}
UpdateData(FALSE);
}
进度条一运行,点暂停就没有反应,感觉好像是必须要99次for循环都结束后才会接受其他消息。 展开
void CProgressbarwithtextDlg::OnPause() //暂停
{
// TODO: Add your control notification handler code here
bpause=!false;
}
void CProgressbarwithtextDlg::Onstart() //开始
{
// TODO: Add your control notification handler code here
UpdateData();
bpause=false;
SetDlgItemText(IDC_STATIC,""); //将显示pass的显示框内容清掉
GetDlgItem(IDC_PROGRESS1)->ShowWindow(SW_SHOW);
int static i=0;
m_prog.SetPos(0);
m_prog.SetStep(1);
for (i=0;i<100&&bpause!=!false;i+=1)
{
m_prog.StepIt();
Sleep(10);
}
if (i==100)
{
m_prog.SetPos(0);
GetDlgItem(IDC_PROGRESS1)->ShowWindow(SW_HIDE);
GetDlgItem(IDC_STATIC)->SetFont(m_font);
SetDlgItemText(IDC_STATIC,"PASS");
}
UpdateData(FALSE);
}
进度条一运行,点暂停就没有反应,感觉好像是必须要99次for循环都结束后才会接受其他消息。 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询