settimervc++6.0 settimer函数是怎么用的啊,能给个例子在讲解一下行么
settimer 时间:2021-07-01 阅读:(
)
C++settimer如何传入参数
这个函数是定时器函数有四个参数,全部是传入参数,第一个数窗口句柄,第二个是定时器ID,第三个是定时器时间,就是多久触发一次ontimer函数,最后一个是回调函数,可以为null。
MFC中的setTimer()函数
MFC SetTimer函数的用法
1) 函数原型及变形
SetTimer这个API函数的原型 :
UINT_PTR SetTimer(
HWND hWnd, // 窗口句柄
UINT_PTR nIDEvent, // 定时器ID,多个定时器时,可以通过该ID判断是哪个定时器
UINT uElapse, // 时间间隔,单位为毫秒
TIMERPROC lpTimerFunc // 回调函数
);
注意:设置第二个参数时要注意,如果设置的等待时间比处理时间短,程序就会出问题了。
回调函数:在这个函数里,放入你想要做的事情的代码,你可以将它设定为NULL,也就是使用系统默认的回调函数,系统默认认的是onTime函数。
例如 :
SetTimer(m_hWnd,1,1000,NULL); //一个1秒触发一次的定时器
在MFC程序中SetTimer被封装在CWnd类中,调用就不用指定窗口句柄了
于是SetTimer函数的原型变为:
UINT SetTimer(UINT nIDEvent,UINT nElapse,void(CALLBACK EXPORT *lpfnTimer)(HWND,UINT ,YINT ,DWORD)) ,用法如:SetTimer(1,1000,NULL);vc++6.0 settimer函数是怎么用的啊,能给个例子在讲解一下行么
CWnd::SetTimer
UINT SetTimer( UINT nIDEvent, UINT nElapse, void (CALLBACK EXPORT* lpfnTimer)(HWND, UINT, UINT, DWORD) );
Return Value
The timer identifier of the new timer if the function is essful. An application passes this value to the KillTimer member function to kill the timer. Nonzero if essful; otherwise 0.
如果函数成功,则返回新定时器的标识符。
应用程序可以将这个值传递给KillTimer成员函数以销毁定时器。
如果成功,则返回非零值;否则返回0。
Parameters
nIDEvent
Specifies a nonzero timer identifier.
指定了不为零的定时器标识符。
nElapse
Specifies the time-out value, in milliseconds.
指定了定时值;以毫秒为单位。
lpfnTimer
Specifies the address of the application-supplied TimerProc callback function that processes the WM_TIMER messages. If this parameter is NULL, the WM_TIMER messages are placed in the application’s message queue and handled by the CWnd object.
指定了应用程序提供的TimerProc回调函数的地址,该函数被用于处理WM_TIMER消息。
如果这个参数为NULL,则WM_TIMER消息被放入应用程序的消息队列并由CWnd对象来处理。
Remarks
Installs a system timer. A time-out value is specified, and every time a time-out urs, the system posts aWM_TIMER message to the installing application’s message queue or passes the message to an application-defined TimerProc callback function.
这个函数设置一个系统定时器。
指定了一个定时值,每当发生超时,则系统就向设置定时器的应用程序的消息队列发送一个WM_TIMER消息,或者将消息传递给应用程序定义的TimerProc回调函数。
The lpfnTimer callback function need not be named TimerProc, but it must be defined as follows:
lpfnTimer回调函数不需要被命名为TimerProc,但是它必须按照如下方式定义
void CALLBACK EXPORT TimerProc(
HWND hWnd, // handle of CWnd that called SetTimer
调用SetTimer的CWnd的句柄
UINT nMsg, // WM_TIMER
UINT nIDEvent // timer identification定时器标识
DWORD dwTime // system time系统时间
);
Timers are a limited global resource; therefore it is important that an application check the value returned by the SetTimer member function to verify that a timer is actually available.
定时器是有限的全局资源;因此对于应用程序来说,检查SetTimer返回的值以确定定时器是否可用是很重要的。
Virmach自上次推出了短租30天的VPS后,也就是月抛型vps,到期不能续费,直接终止服务。此次又推出为期6个月的月抛VPS,可选圣何塞和水牛城机房,适合短期有需求的用户,有兴趣的可以关注一下。VirMach是一家创办于2014年的美国商家,支持支付宝、PayPal等方式,是一家主营廉价便宜VPS服务器的品牌,隶属于Virtual Machine Solutions LLC旗下!在廉价便宜美国...
IMIDC发布了6.18大促销活动,针对香港、台湾、日本和莫斯科独立服务器提供特别优惠价格最低月付30美元起。IMIDC名为彩虹数据(Rainbow Cloud),是一家香港本土运营商,全线产品自营,自有IP网络资源等,提供的产品包括VPS主机、独立服务器、站群独立服务器等,数据中心区域包括香港、日本、台湾、美国和南非等地机房,CN2网络直连到中国大陆。香港服务器 $39/...
老周互联怎么样?老周互联隶属于老周网络科技部旗下,创立于2019年12月份,是一家具有代表性的国人商家。目前主营的产品有云服务器,裸金属服务器。创办一年多以来,我们一直坚持以口碑至上,服务宗旨为理念,为用户提供7*24小时的轮班服务,目前已有上千多家中小型站长选择我们!服务宗旨:老周互联提供7*24小时轮流值班客服,用户24小时内咨询问题可提交工单,我们会在30分钟内为您快速解答!另免费部署服务器...
settimer为你推荐
元数据管理什么是元数据?(指数据中心建设而言)举个例子说明一下。知识库管理系统急求一款电子文档管理系统,有好用的推荐下~?网关和路由器的区别网关和路由器有什么区别网关和路由器的区别路由器和网关有什么区别?bindservice如何启动和停止用service索引超出了数组界限索引超出了数组界限inode智能客户端inode智能客户端怎么使用wifi?保留两位有效数字什么叫保留两位有效数字丁奇王下七武海和四皇分别是谁?民生电商民生电商招的仓库操作工是干什么的
高防服务器租用qy 高防直连vps qq数据库 支付宝扫码领红包 域名dns 512mb 服务器维护 韩国代理ip 华为k3 万网注册 广东主机托管 杭州电信宽带 闪讯网 沈阳idc fatcow symantec 遨游论坛 neobux 主机箱 监控主机 更多