MFC定时器的使用
1.在头文件定义一个afx_msg void OnTimer(UINT_PTR nIDEvent)函数
定义一个定时器ID #define SysTimeTimer 1
2.实现该函数
void CMiniGateTestNNDlg::OnTimer(UINT_PTR nIDEvent){
switch (nIDEvent) //如果有多个定时器 通过该参数来识别是哪个,nIDEvent即为SetTimer的第一个参数值
{
case SysTimeTimer:
redDrawSysTime();
break;
default:
break;
}
CDialog::OnTimer(nIDEvent);
}
3.redDrawSysTime()在该函数中做超时处理
4.SetTimer(SysTimeTimer,1000,NULL);启动定时器, 第一个参数用来识别是哪个定时器(可理解为定时器ID),
第二个参数是间隔时间
第三个参数如果为NULL 则默认执行OnTimer。
5.KillTimer(SysTimeTimer);关闭定时器,参数为定时器ID
注1:如果启动定时器之后执行不到 OnTimer函数体内,则在
BEGIN_MESSAGE_MAP(该类名, CDialog)和END_MESSAGE_MAP()之间的位置加:ON_WM_TIMER()
注2:在一个cpp文件中可能存在多个注1所述的位置,注意BEGIN_MESSAGE_MAP的参数
1.在头文件定义一个afx_msg void OnTimer(UINT_PTR nIDEvent)函数
定义一个定时器ID #define SysTimeTimer 1
2.实现该函数
void CMiniGateTestNNDlg::OnTimer(UINT_PTR nIDEvent){
switch (nIDEvent) //如果有多个定时器 通过该参数来识别是哪个,nIDEvent即为SetTimer的第一个参数值
{
case SysTimeTimer:
redDrawSysTime();
break;
default:
break;
}
CDialog::OnTimer(nIDEvent);
}
3.redDrawSysTime()在该函数中做超时处理
4.SetTimer(SysTimeTimer,1000,NULL);启动定时器, 第一个参数用来识别是哪个定时器(可理解为定时器ID),
第二个参数是间隔时间
第三个参数如果为NULL 则默认执行OnTimer。
5.KillTimer(SysTimeTimer);关闭定时器,参数为定时器ID
注1:如果启动定时器之后执行不到 OnTimer函数体内,则在
BEGIN_MESSAGE_MAP(该类名, CDialog)和END_MESSAGE_MAP()之间的位置加:ON_WM_TIMER()
注2:在一个cpp文件中可能存在多个注1所述的位置,注意BEGIN_MESSAGE_MAP的参数