MFC中timer 的使用
阿新 • • 發佈:2018-12-29
首先,要設定定時器。
在init中(或其他的初始化函式裡),呼叫函式
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中的程式在定時器被觸發的時候執行。
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: } }