2024年6月12日发(作者:)

2011-06-01

VC中OnTimer()函数使用

文章分类:C++编程,VC使用,MFC开发

关于OnTimer()函数的填写,对于CDialog,可以Ctrl+W中添加;

对于SetTimer可以在初始化当中添加!

OnTimer()函数是响应用SetTimer()函数设定的时钟发送的时钟消息的,你没设定时

钟,就不会有时钟消息,OnTimer()里的语句当然也不会被调用。

为类添加WM_TIMER消息响应,会看到类中多了个OnTimer(UINT nIDEvent)。 然

后用SetTimer(1,10,NULL)就行了。第一个参数是ID,第二个是间隔时间,单位是毫秒,

第3个是响应函数,因为要在OnTimer(UINT nIDEvent)里面做响应操作,所以此处给个

NULL就行了。

Timer事件,即定时器事件,是在游戏编程中,经常使用的一个事件。借助它可以产

生定时执行动作的效果。这篇文章,就和大家一起探讨一下如何使用SetTimer()函数。

1、SetTimer定义在那里?

SetTimer表示的是定义个定时器。根据定义指定的窗口,在指定的窗口(CWnd)中

实现OnTimer事件,这样,就可以相应事件了。

SetTimer有两个函数。一个是全局的函数::SetTimer()

Cpp代码

1. UINT SetTimer(

2. HWND hWnd, // handle of window for timer messages

3. UINT nIDEvent, // timer identifier

4. UINT uElapse, // time-out value

5. TIMERPROC lpTimerFunc // address of timer procedure

6. );

其中hWnd 是指向CWnd的指针,即处理Timer事件的窗口类。说道窗口类(CWnd),

我们有必要来看一下CWnd的继承情况:CWnd有以下子类:

CFrameWnd,CDialog,CView,CControlBar等类。这也意味这些类中都可以定义SetTimer

事件。

同时,SetTimer()在CWnd中也有定义,即SetTimer()是CWnd的一个成员函数。

CWnd的子类可以调用该函数,来设置触发器。

Cpp代码