1. 程式人生 > >MFC中的timer的使用

MFC中的timer的使用

首先,要設定定時器。

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:

   }

}