c++定时器settimer,c#timer定时器的基本用法
Settimer就是设置一个定时器,开始执行timer Ontimer中的代码,也就是timer执行的代码。KillTimer用于停止计时器。Settimer是设置,Ontimer响应Settimer消息。
SetTimer函数的用法
1)用WM_TIMER设置定时器。
请先看看SetTimer API函数的原型。
UINT_PTR设置定时器(
HWND hWnd,///与定时器相关的窗口
UINT_PTR nIDEvent,//一个非零数字标记这个计时器。
UINT uElapse,///以毫秒为单位指定时间间隔。
TIMERPROC lpTimerFunc//通常指定为null。
);
当MFC项目如下:
UINT_PTR设置定时器(
UINT_PTR nIDEvent,//一个非零数字标记这个计时器。
UINT uElapse,///以毫秒为单位指定时间间隔。
TIMERPROC lpTimerFunc//通常指定为null。
);
用法如下:
SetTimer(1,1000,NULL);
1:计时器的名称;
1000:时间间隔,单位为毫秒;
NULL:使用onTime函数。
每当时间达到1s就会触发WM_TIMER消息,其消息响应函数如下:
void cxxxx:on timer(UINT _ PTR nIDEvent)
{
//TODO:在此添加消息处理程序代码和/或调用默认值
//只需在此处添加以下代码:
开关()
{
案例1:
//做你该做的
//不需要的时候在这里调用kill timer(1);
打破;
默认值:
打破;
}
CDialog:on timer(nIDEvent);
}
不需要定时器时调用kill timer(nIDEvent);
例如:kill timer(1);
如果我想加入两个或更多计时器怎么办?
继续使用SetTimer函数。上次计时器的ID是1,这次可以是2,3,4。
SetTimer(21000,NULL);
SetTimer(3500,空);
嗯,WINDOWS会协调它们。当然ontimer函数体也会发生变化,函数体中会加入每个定时器的处理代码:
onTimer(nIDEvent)
{
开关(nIDEvent)
{
案例1:
打破;
案例二:
打破;
案例三:
打破;
}
}
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。