定时器的使用无非一个创建定时器函数SetTimer(ID_TIMER, TimeDelay, NULL);一个接收消息,并处理函数
.h
afx_msg void OnTimer(UINT nIDEvent);
.cpp
void CMyDialog::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
if (nIDEvent == ID_TIMER)
{
//Write u want
}
CDialog::OnTimer(nIDEvent);
}
一个销毁定时器函数KillTimer(ID_TIMER);
这三个函数所能达到的效果就是从你SetTimer开始,经过TimeDelay时间后,执行OnTimer的事件.
demo 1;
.h
afx_msg void OnTimer(UINT nIDEvent);
.cpp
ON_WM_TIMER()
//触发
KillTimer(ID_TIMER);
SetTimer(ID_TIMER, 500, NULL);
void CMyDialog::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
if (nIDEvent == ID_TIMER)
{
//Write u want
}
CDialog::OnTimer(nIDEvent);
}
问题:时间不准确,具体自行测试感受
demo 2;
.h
afx_msg void OnTimer(UINT nIDEvent);
.cpp
ON_WM_TIMER()
//触发
KillTimer(ID_TIMER);
SetTimer(ID_TIMER, 500, NULL);
void CMyDialog::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default
if (nIDEvent == ID_TIMER)
{
//Write u want
KillTimer(ID_TIMER);
}
CDialog::OnTimer(nIDEvent);
}
时间准确