MFC中定时器的用法

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

对于MFC中时常用到的定时器,其相关的函数有SetTimer和KillTimer以及OnTimer三个函数,下面就来分析一下这三个函数。

首先是SetTimer函数,其函数原型为UINT SetTimer(UINT nIDEvent,UINT nElapse,void(CALLBACK EXPORT *lpfnTimer)(HWND,UINT ,YINT ,DWORD)),由于其在MFC程序中SetTimer被封装在CWnd类中,调用就不用指定窗口句柄了,第一个参数是定时器的ID号,一般情况下为1,当定时器的数量多于1个之后,ID号也响应改变。第二个参数是定时器的设定时间,一般为毫秒级别。第三个参数为回调函数,只有当回调函数为NULL的时候,才能够触发回到函数OnTimer函数响应消息代码。

KillTimer函数式用于移除定时器的作用,只有一个参数,就是定时器的ID号,但不能再定时器的回调函数当中调用!

最后是OnTimer函数,该函数是SetTimer的回调函数,一般情况下用于处理定时器所要处理的消息事件。函数原型:void CTrendStatic::OnTimer(UINT_PTR nIDEvent)

下面讲一下一个简单用法:

比如在一个函数中需要设定一个刷新,于是创建一个刷新函数,在里面设定一个定时器:

void CTrendStatic::Refresh(void)
{
	SetTimer(1,200,NULL);
}

然后再定时器的回调函数中处理你要的消息响应代码,这样的话,会在回调函数中完成你要的功能,并且定时刷新。

void CTrendStatic::OnTimer(UINT_PTR nIDEvent)
{
    //the code
	CStatic::OnTimer(nIDEvent);
}

当然,这其中没有用到KillTimer函数,因为这是一个持续刷新的过程,如果当需要去除定时器的时候,直接用KillTimer(ID)既可以将定时器移除。

Windows下定时器SetTimer以及KillTimer的用法 阅读详情

相关推荐

MFC,win32,linux C中SetTimer定时器用法

MFC,win32,linux C中SetTimer定时器用法 一. MFC中SetTimer用法 参照http://blog.csdn.net/shaopengf/article/details/38147089 二. win32中SetTimer用法 #include #include #include using namespace std; i

一点通的专栏 2114

MFC定时器OnTimer函数的使用

MFC中经常我们需要对界面进行刷新更新数据或者状态,这就需要用到定时器,其实现函数为OnTimer,下面对其用法步骤(基于VS2010)进行简要说明:

心-无可取代 4万+

MFC定时器SetTimer函数用法总结

CWnd类的SetTimer成员函数只能在CWnd类或其派生类中调用,而API函数SetTimer则没有这个限制,这是一个很重要的区别。 1、启动定时器。 启动定时器就需要使用CWnd类的成员函数SetTimer。CWnd::SetTimer的原型如下: 参数nIDEvent指定一个非零的定时器ID; 参数nElapse指定间隔时间,单位为毫秒; 参数lp

星如雨落 5万+

VS2010/MFC编程入门之四十四(MFC常用类:定时器Timer)

前面一节鸡啄米讲了CTime类和CTimeSpan类的使用,本节继续讲与时间有关的定时器定时器并不是一个类,主要考虑到,提起时间的话就不能不说定时器,所以就把它放到CTime和CTimeSpan之后讲解。        定时器简介        定时器,可以帮助开发者或者用户定时完成某项任务。在使用定时器时,我们可以给系统传入一个时间间隔数据,然后系统就会在每个此时间间隔后触发定时处

songlei217的专栏 1918

MFCOnTimer的应用

OnTimer()函数用于实现定时控制功能,定时控制功能主要由下面三个函数共同实现:SetTimer, KillTimer()和OnTimer().粗略的说,Settimer是设置一个计时器并开始执行计时器Ontimer中的代码,Ontimer是计时器所执行的代码。KillTimer用于停止计时器。或者说Settimer是设置定时器的,Ontimer是响应Settimer消息的。当Settimer设置的时间到了,就会自动调动Ontimer()函数。先了解下SetTimer这个API函数的原型UINT_PTR

jerrytong的专栏 5万+

2014-05-15MFC:SetTimer

1、SetTimer(m_hWnd,1,1000,NULL); //一个1秒触发一次的定时器

勿忘初心,安得始终 663

C++ Timer定时器

什么时候我们需要用到SetTimer函数呢?当你需要每个一段时间执行一件事的的时候就需要使用SetTimer函数了。 让我们先来看看SetTimer函数的原型: UINT SetTimer(UINT nIDEvent,UINT nElapse,void(CALLBACK EXPORT *lpfnTimer)(HWND,UINT ,YINT ,DWORD)) 当使用SetTimer函数的

学海无涯 6384

MFCOnTimer定时器用法

一、     单个定时器用法 定时器工作主要流程:设置定时器SetTimer,时间到后调用OnTimer函数,关闭定时器KillTimer。可以在程序初始化用SetTimer函数弄成多个线程类似,并行进行多个函数功能。 1.1 SetTimer(H,nID,elipse,NULL) 函数作用:开始nID定时器 H:要定时的事件句柄,在MFC中不需要该参数,因为MFC封装在CWnd类中

净无邪博客 1万+

MFC 定时器用法

MFC定时器的使用       1.在头文件定义一个afx_msg void OnTimer(UINT_PTR nIDEvent)函数       定义一个定时器ID           #define SysTimeTimer 1          2.实现该函数    void CMiniGateTestNNDlg::OnTimer(UINT_PTR nIDEvent){    

风云的的博客 1552

MFC定时器用法

在程序中我们经常要使用定时刷新的功能,典型的应用是在信息管理系统中表单要跟着数据库中的数据变动。MFC提供了定时器来完成这个功能。=========================================================================在MFC中和定时器相关的有三个函数:UINT SetTimer( UINT nIDEvent, UINT nElap

chamyto98的专栏 3055

MFC定时器用法

Settimer是设置一个计时器并开始执行计时器Ontimer中的代码,Ontimer是计时器所执行的代码。KillTimer用于停止计时器。 Settimer是设置,Ontimer是响应Settimer消息的。 SetTimer函数的用法 1 )用WM_TIMER来设置定时器 先请看SetTimer这个API函数的原型 UINT_PTR SetTimer(             

zxccaoya的博客 624

MFC 定时器用法 SetTimer、KillTimer

什么时候我们需要用到SetTimer函数呢?当你需要每个一段时间执行一件事的的时候就需要使用SetTimer函数了。使用定时器的方法比较简单,通常告诉WINDOWS一个时间间隔,然后WINDOWS以此时间间隔周期性触发程序。通常有两种方法来实现:发送WM_TIMER消息和调用应用程序定义的回调函数。 1.1用WM_TIMER来设置定时器 先请看SetTimer这个API函数的原型 UI...

u011555996的博客 2474

MFC中的定时器用法

MFC中和定时器相关的有三个函数: UINT SetTimer( UINT nIDEvent, UINT nElapse, void (CALLBACK EXPORT* lpfnTimer)( HWND, UINT, UINT, DWORD) ); 第一个参数为对应时器的代

1324

MFC定时器使用指南:核心用法速通

MFC 定时器是一种低资源占用的毫秒级任务调度工具,适用于数据采集、界面刷新、动画控制等场景。

m0_62297377的博客 1340
上一篇: MFC中在重载函数中更改字体大小
下一篇: 程序员的十个层次
nand库路泽
博客等级 码龄16年 76粉丝 85原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值