Windows的定时器是一种周期性消息产生装置。当用户为一个窗口设置了定时器资源之后,系统就会按规定的时间间隔向窗口发送定时器消息。在这个消息中就可以处理一些需要定时处理的事情。
定时器消息只有一种:WM_TIMER,其响应函数是OnTimer;当然,需要触发OnTimer函数就必须先设置好定时器SetTimer.
下面是定时器使用例子:
定时1000ms计数,并将计数值显示与Edit对话框上。
- UI设计:创建基本对话框,添加响应的编辑框与文字说明;
- UI属性:添加编辑框成员变量,添加WM_TIMER消息处理函数OnTimer
- 源文件处理:在 1 BOOL CTimer_DemoDlg::OnInitDialog() 添加定时器设置函数
// TODO: Add extra initialization here SetTimer(1, 1000, NULL);
(设置参数:定时器1,定时1000ms,消息处理函数为NULL,代表以OnTimer为定时器消息处理函数)。
- OnTimer函数处理,计数并显示计数值:
1 void CTimer_DemoDlg::OnTimer(UINT_PTR nIDEvent) 2 { 3 // TODO: 在此添加消息处理程序代码和/或调用默认值 4 static LONG count=0; 5 CString str; 6 count++; 7 str.Format(_T("%d"), count); 8 m_Edit1 = str; 9 UpdateData(false); 10 11 CDialogEx::OnTimer(nIDEvent); 12 }
- 编译运行即可。
谢谢.