定時器的使用無非一個建立定時器函數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);
}
時間準确