读书人

VC定时器的用法SetTimer跟Ontimer的

发布时间: 2012-08-10 12:19:33 作者: rapoo

VC定时器的用法,SetTimer和Ontimer的用法。
我是VC初学者,没用过定时器。请问一下SetTimer和Ontimer的用法。
我开始是在对话框的初始化里加入SetTimer(1,2000,NULL) 然后用向导在对话框里建立了一个Ontimer函数,并在函数里写了一条执行指令(没做判断)。程序运行后就每隔2秒执行这条指令。
我想要做的是,实现多个定时器,并且在需要的时候调用,并在不需要的时候关掉。而且问一句,KillTimer()之后这个定时器还能不能再次调用?
请问怎么做

[解决办法]
UINT_PTR SetTimer(
HWND hWnd,//和定时器相关联的窗口
UINT_PTR nIDEvent,//一个非0的数字标志这个定时器
UINT uElapse,//指定时间间隔,以毫秒为单位
TIMERPROC lpTimerFunc//一般指定为null
);
当在MFC的工程中如下:
UINT_PTR SetTimer(
UINT_PTR nIDEvent,//一个非0的数字标志这个定时器
UINT uElapse,//指定时间间隔,以毫秒为单位
TIMERPROC lpTimerFunc//一般指定为null
);
用法如下:

SetTimer(1,1000,NULL);//设置了一个1s的定时器1.
然后在每次时间到1s时会触发WM_TIMER消息,其消息响应函数如下:
void CXXX::OnTimer(UINT_PTR nIDEvent)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
// 此处加入如下代码就好了:
switch()
{
case 1:
//做该做的事情
//当不需要的时候在此处调用KillTimer(1);
break;
default:
break;
}
CDialog::OnTimer(nIDEvent);
}
[解决办法]

探讨
danxuezx:
多个定时器的话ontimer怎么写?

读书人网 >VC/MFC

热点推荐