来源:
http://bbs.csai.cn/bbs/view.asp?Id=%7BB70CE28A-ACC3-4B2F-99B0-DFBF8FF25061%7D
设置timer使用SetTimer函数,可以使用窗口类的函数
CWnd::SetTimer UINT SetTimer( UINT nIDEvent, UINT nElapse,
void (CALLBACK EXPORT* lpfnTimer)
(HWND, UINT, UINT, DWORD) );
其中第一个参数为timer的ID,第二个参数为时间间隔,第三个参数为一个回调函数,用以相应timer事件。如果不想些自己的回调函数,将第三个参数设置为NULL即可。此时Timer产生的消息由窗口处理。窗口的消息WM_TIMER的处理函数,函数参数为timerID,对应CWnd::SetTimer第一个参数。如果不想使用窗口的处理函数来处理timer,可以自己写回调函数,SetTimer时将第三个参数设为你的回调函数入口即可。 设置timer还可以使用UINT SetTimer(HWND hWnd, // handle of window for timer messagesUINT nIDEvent, // timer identifierUINT uElapse, // time-out valueTIMERPROC lpTimerFunc // address of timer procedure);第一个参数为响应timer的窗口句柄,如果为空则需要自己写回调函数,同时第二个参数nIDEvent无效。具体可参看MSDN