MFC中的timer的使用
阿新 • • 發佈:2019-01-04
首先,要設定定時器。
UINT SetTimer(
UINT nIDEvent, //定時器標記,
UINT nElapse, //間隔時間
void ( CALLBACK* lpfnTimer ) (HWND, UINT, UINT, DWORD) = NULL
)
如settimer(1,2000,NULL);
設定定時器1的間隔為2000毫秒。
其次,新增ontimer訊息處理函式程式碼。
void OnTimer( UINT_PTR nIDEvent );
===================================================
如果程式中有多個定時器,則他們共用一個ontimer訊息處理程式。
在ontimer中,可以通過判斷定時器標誌(nIDEvent)來區分不同的定時器。
假設設定了三個定時器,標記分別為1,2,3。如
settimer(1,2000,NULL);
settimer(2,3000,NULL);
settimer(3,5000,NULL);
則在ontimer訊息處理函式中:
void OnTimer( UINT_PTR nIDEvent )
{
switch (nIDEvent)
{
case 1:
//do something
break;
case 2:
//do something
break;
case 3:
//do something
break;
default:
}
}