当执行到程序的某一行代码时,需要添加计时器,就用这条语句:
SetTimer(1, 1000, NULL);
参数如下:
UINT_PTR SetTimer(UINT_PTR nIDEvent, UINT nElapse,
void (CALLBACK* lpfnTimer)(HWND, UINT, UINT_PTR, DWORD));
设置好后计时器立马生效,1秒后计时器发生中断,在代码所在的类中进行捕捉:
1.在该类的消息中添加:
BEGIN_MESSAGE_MAP(CTab1, CDialog) // CTab1是自己定义的一个类
ON_WM_TIMER()
END_MESSAGE_MAP()
2.所在的类中添加成员函数:
void OnTimer(UINT_PTR nIDEvent);
3.添加函数的代码,即捕捉后的执行代码:
void CTab1::OnTimer(UINT_PTR nIDEvent)
{
switch (nIDEvent)
{
case 1: // 计时器1
. // 处理的代码
KillTimer(1); // 删除此计时器,否则计时器中断完后会自动重新开始计时,到下一次中断时还会发生新的中断
break;
case 2: // 计时器2
. // 处理的代码
break;
default:
MessageBox("default: KillTimer");
KillTimer(nIDEvent);
break;
}
}