谁是大侠???

来源:百度知道 编辑:UC知道 时间:2024/06/04 18:12:11
求wm_timer函数用法,尤其是在ontimer中如何用killtimer销毁定时器???最好有带程序例子

该函数是窗口类特有的,不同的窗口的定时器对应所在窗体有效。
  函数用法:
  一、开启定时器
  1,所有事务都在一个窗体内可以直接用
  SetTimer(1,1000,NULL);//1表示定时器编号1,1000表示定时1000毫秒,第三个参数不清楚具体作用,可以参考msdn,一般用NULL即可。
  2,如果有跨窗口事件,要关闭或设定不同的窗口的定时器,则要用下面的函数,注明对应窗口的句柄,如果是函数所在窗口,可以用this->m_hWnd:
  ::SetTimer(this->m_hWnd,1,0,NULL);

  二、强制关闭定时器:
  KillTimer(1);或::KillTimer(this->m_hWnd,1);

  三、当定时器计时到点后,会激发窗体的OnTimer事件
  该事件可以通过类向导添加WM_TIMER消息事件:

  void CMainDlg::OnTimer(UINT nIDEvent)
  {//nIDEvent 为对应的定时器编号
  // TODO: Add your message handler code here and/or call default
  switch(nIDEvent)
  {
  case 1://定时器1计时到点
  KillTimer(1);//如果这句不写,定时器一直循环
  //do something ;
  break;
  case 2://定时器2计时到点
  KillTimer(2);
  //do others;
  break;
  }
  CDialog::OnTimer(nIDEvent);
  }

  Trackback: