定时器是程序中很常用到的一个功能,在MFC中其设置也非常简单,可做如下定义开启定时器:
SetTimer(1, 1000, NULL);
参数一为定时器的ID号,是定时器的标识,这个在关闭定时器时有用,如果要设置多个定时器,也可以通过判断回调函数传入的ID值来区分不同的定时器;
参数二为定时器执行函数的间隔时间,单位为ms;
参数三为回调函数指针,为NULL时系统默认发送WM_TIMER消息,我们可以添加对话框程序的WM_TIMER消息响应函数来给定时器赋予实际的意义,实际上这么做也是最方便的直接的。
对话框的WM_TIMER消息响应函数形式如下:
void CPanoramicPlayerDlg::OnTimer(UINT_PTR nIDEvent)//CPanoramicPlayerDlg是对话框类名,nIDEvent则为调用它的定时器的ID号
{
printf("定时器ID号:%d\n", nIDEvent);
CDialogEx::OnTimer(nIDEvent);
}
关闭定时器则用下面的语句:
KillTimer(1);
其参数就是上面开启定时器时设置的第一个参数,是要关闭的定时器对应的ID。