亲爱的网友,你能搜到本文中,说明您很希望了解这个问题,以下内容就是我们收集整理的相关资料,希望该答案能满足您的要求
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调用中的参数一模一样。
不知这篇文章是否帮您解答了与标题相关的疑惑,如果您对本篇文章满意,请劳驾您在文章结尾点击“顶一下”,以示对该文章的肯定,如果您不满意,则也请“踩一下”,以便督促我们改进该篇文章。如果您想更进步了解相关内容,可查看文章下方的相关链接,那里很可能有你想要的内容。最后,感谢客官老爷的御览