原创 VC定时器初用

2010-6-9 12:43 2084 2 2 分类: 软件与OS

设置定时器:
第一步:
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/

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
2
关闭 站长推荐上一条 /3 下一条