2

settimer(SetTimerDelegate)

1.SetTimer函数:

SetTimer函数用于调用一个指定句柄的定时器,为处理程序提供每隔指定的时间间隔接收定时器消息。SetTimer函数的原型如下:UINT SetTimer(HWND hWnd,UINT nIDEvent,UINT uElapse,TIMERPROC lpTimerFunc);

(1)hWnd:应用程序拥有一个句柄,SetTimer 函数可以响应新的定时器。这个句柄的所有者也被称之为定时器的窗口句柄,也是定时器消息的消息句柄。

(2)nIDEvent:为定时器消息提供用户定义的标识。这个值允许用户区分不同的定时器,以便捕获定时器消息并进行相应的处理。

(3)uElapse:每隔多少毫秒后发送定时器消息。

(4)lpTimerFunc:如果它的值不为NULL,它是一个回调函数指针,定时器消息到达时,Windows系统将调用该函数来处理。

2.KillTimer函数:

KillTimer函数主要用于清除指定句柄的定时器,停止调节定时器时发送定时器消息。KillTimer函数的原型如下:BOOL KillTimer(HWND hWnd, UINT uIDEvent);

(1)hWnd:定时器的所有者是窗口句柄,也是定时器消息的消息句柄。

(2)uIDEvent:为定时器消息提供用户定义的标识,以使用户可以“杀死”特定的定时器,停止它的处理程序的调用。

1、SetTimer函数:SetTimer函数用来创建一个定时器,每隔一定时间向指定的窗口发送一个消息。

2、语法:UINT SetTimer(HWND hWnd,UINT nIDEvent,UINT uElapse, TIMERPROC lpTimerFunc);

3、参数说明:

(1)hWnd:指定接收定时器消息的窗口句柄。

(2)nIDEvent:用户指定的定时器事件ID。

(3)uElapse:指定定时器事件发生的间隔时间,单位为ms(毫秒)。

(4)lpTimerFunc:指向一个指定TIMERPROC函数的指针,定时器发生时MFC程序会调用它。

4、返回值:

(1)成功:返回一个非零的定时器标识符。

(2)失败:返回零。

5、 SetTimer实现的思路简述:SetTimer的实现用到了ASSERT和VERIFY的宏的校验机制,可以获取用户参数,并且使用CreateTimerQueueTimer函数进行实时时间的控制,最后触发相应的消息,完成实现定时任务。

6、注意事项:(1)SetTimer函数调用后,需要调用KillTimer函数释放定时器,防止内存泄漏。

(2)当窗口消息循环退出时,程序将会自动释放未释放的所有定时器

(3)nIDEvent和uElapse必须与来自程序中前面一个SetTimer调用中的参数一模一样。

本文来自网络,不代表本站立场。转载请注明出处: https://tj.jiuquan.cc/a-2225363/
1
上一篇vc2005运行库(vc2005运行库百度网盘)
下一篇 电脑不能开机(电脑不能开机黑屏)

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: alzn66@foxmail.com

关注微信

微信扫一扫关注我们

返回顶部