background image

4) timeSetEvent(...pfn...).开始定时,该函数中,有一个参数时回调函数指

针,以及回调函数的参数,我的代码中是 internalTimerProc,

和 m_Recoder[MMRecoder::nRes](该参数指明定时器 ID,一个

CMMTimers 的指针)

5)timeKillEvent.终止定时器。

如果对上述函数不理解也没关系,我已经把它们封装成一个类了,对了就

叫 CMMTimers.

为了使你不必去理解上述这些函数,我作出封装,CMMTimers 主要有如下

几个函数接口:

1)bool stopTimer(int nTimerID) 作用跟 KillTimer(int nTimerID) 一样.

2)bool startTimer(UINT period,CTimerListener *pListener = NULL,int 

nTimerID = 1,bool oneShot = FALSE);相当于 SetTimer(int nTimerID).

nTimerID,就是定时器 ID,oneShot 就是是否只运行一次,你可能会说

CTimerListener 是个什么东西,这个下面我再解释。

3)stopTimer(),关闭所有定时器。

4)timerProc()定时响应函数。相当于 OnTimer.

说到这里的时候,其实我们现在就可以用这个类了,只不如果我不说

CTimerListener 是个什么东西,你始终会觉得纳闷。好吧,让我画个 UML 图好

了。