使用的VC计时器主要使用的API是SetTimer和OnTimer两个,严格来说OnTimer并不算是API,只是一个执行器,另外还有KillTimer,但是本次并未用到,以后用到再行总结。
SetTimer(NULL,1,1000,NULL);
NULL 默认是主进程调用
1:计时器的名称;
1000:时间间隔,单位是毫秒;
NULL:使用OnTimer函数。
当不需要计时器的时候调用KillTimer(nIDEvent);
例如:KillTimer(1);
1000:时间间隔,单位是毫秒;
NULL:使用OnTimer函数。
当不需要计时器的时候调用KillTimer(nIDEvent);
例如:KillTimer(1);
如果调用SetTimer函数是,最后一个参数为NULL,即使用OnTimer函数,则系统通过WM_TIMER的消息来处理定时事件,添加OnTimer函数的方法如下:
在工程的Class View视图下,找到要添加定时器的类,右键,选择Properties,显示属性页,然后再工具栏上点击Message按钮,就会流出所有消息,找到WM_TIMER消息,Add消息处理函数即可,若要删除,则Delete。添加之后就会出现下面内容:
//void CMy11Dlg::OnTimer(UINT_PTR nIDEvent)
{
// TODO: Add your message handler code here and/or call default
CDialogEx::OnTimer(nIDEvent);
}
如果有多个计时器,则用不同的计时器名称,将其区分开,在函数OnTimer中,对不同的计时器,调用不同的代码,例如:
SetTimer(0,1000,NULL);//计时器0
SetTimer(1,1000,NULL);//计时器1
SetTimer(2,1000,NULL);//计时器2
void CTOOLDlg::OnTimer(UINT_PTR nIDEvent)
{
// TODO: Add your message handler code here and/or call default
switch(nIDEvent)
{
case 0:
break;
case 1:
break;
case 2:
break;
}
CDialogEx::OnTimer(nIDEvent);
}
在指定的位置添加函数即可。