设置定时器:
第一步:
SetTimer(1,500,NULL);
SetTimer(2,1000,NULL);
放在对象初始化函中。
第二步:
通过类向导增加消息处理函数据。OnTimer
第三步:
编写处理程序,判别是哪个定时器产生的。
void CJusttestDlg::OnTimer(UINT nIDEvent)
{
CTime tm="CTime::GetCurrentTime"();
CString st;
static int numtime="0";
switch(nIDEvent)
{
case 1:
m_text.SetWindowText (tm.Format("%Y-%m-%d %H:%M:%S"));
break;
case 2:
numtime++;
st.Format("%d",numtime);
m_addtime.SetWindowText(st);
break;
}
CDialog::OnTimer(nIDEvent);
}
第四步:
KillTimer(1)关定时器
另外可以用回调函数来处理。
但由于回调函数必须是static成员函数。
所以不能设问对象成员变量,得访问静态变量。
处理有点麻烦方法。
static void CALLBACK TimerProc(HWND hWnd,UINT nMsg,UINT nTimerid,DWORD dwTime);
然后再用SetTimer(1,100,TimerProc)函数来建一个定时器,第三个参数就是回调函数地址。
原文地址:http://tony.hehui.blog.163.com/blog/static/4220873220083240255521/
文章评论(0条评论)
登录后参与讨论