+ -
当前位置:首页 → 问答吧 → 紧急问题:VC定时器

紧急问题:VC定时器

时间:2011-12-25

来源:互联网

有个问题想请教下:我在VC工程里加了个定时器,但是经过测试发现,我只有最小化一次程序,然后再显示,定时器才会执行一次!有人知道是怎么回事吗?

作者: cduoa   发布时间: 2011-12-25

说明你放错地方了

作者: wmnmtm   发布时间: 2011-12-25


BOOL CAboutDlg::OnInitDialog() 
{
CDialog::OnInitDialog();

// TODO: Add extra initialization here
m_nSec = 60;//60s



SetTimer(1003,1000,NULL);
m_str.Format("本对话框将在%d秒后自动关闭",m_nSec);
GetDlgItem(IDC_STATIC_MSG)->SetWindowText(m_str);

return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}











void CAboutDlg::OnTimer(UINT nIDEvent) 
{
// TODO: Add your message handler code here and/or call default
switch(nIDEvent)
{
case 1003:
{
--m_nSec;
m_str.Format("本对话框将在%d秒后自动关闭",m_nSec);
this->GetDlgItem(IDC_STATIC_MSG)->SetWindowText(m_str);
if (0 == m_nSec)
{
OnBtnExit();
}
break;
}
}
CDialog::OnTimer(nIDEvent);
}

作者: wmnmtm   发布时间: 2011-12-25

启动定时器SetTimer(0x001,5000,NULL);//定时5秒
然后在WM_TIMER消息里进行定时处理

作者: gameslq   发布时间: 2011-12-25

在编辑菜单中有一个在文件中查找:可以搜索下ontimer和settimer。
应该是定时器代码的位置放得不对。

作者: fight_in_dl   发布时间: 2011-12-25