我希望按键后经2s显示"时间到";可为何总也不显示?
void CTest_timerDlg::OnButton1Timer()
{
SetTimer(1,2000,NULL);
while(!btime);
{
btime=false; //前面定义了全局变量
m_edit1="时间到";
UpdateData(false);
KillTimer(1);
}
}void CTest_timerDlg::OnTimer(UINT nIDEvent)
{
CDialog::OnTimer(nIDEvent);
btime=true;
}
void CTest_timerDlg::OnButton1Timer()
{
SetTimer(1,2000,NULL);
while(!btime);
{
btime=false; //前面定义了全局变量
m_edit1="时间到";
UpdateData(false);
KillTimer(1);
}
}void CTest_timerDlg::OnTimer(UINT nIDEvent)
{
CDialog::OnTimer(nIDEvent);
btime=true;
}
{
SetTimer(1,2000,NULL);
while(!btime); //<--这是干嘛用的
{
btime=false; //前面定义了全局变量
m_edit1="时间到";
UpdateData(false);
KillTimer(1);
}
}
{
SetTimer(1,2000,NULL);
}void CTest_timerDlg::OnTimer(UINT nIDEvent)
{
CDialog::OnTimer(nIDEvent);
m_edit1="时间到";
UpdateData(false);
KillTimer(1);}
是不会出来的。 因为你是单线程,
ontimer() 不会有机会执行。
仅是休息两秒用Sleep(2000)就可以了。