VC++ 6.0使用定时器SetTimer;

时间:2022-10-17 23:32:33

背景:

  windows中使用VC++6.0制作了个交互界面向下位机定时发送数据及显示下位机上传的数据。定时发送则需要使用定时器。

  本文只做记录如何调用,原理以后再深究。

正文:

  首先,我生成的窗体类名为CTestDlg;

  在需要使用定时器的地方,譬如按键函数里设置定时器:

  SetTimer(1,1000,NULL);  // 参数1:下文说明其作用。 1000为1000ms。

  SetTimer(2,500,NULL);   // 参数1:下文说明其作用。 500为500ms。

  

  然后在以下对应类的".cpp"文件中代码段内添加如下代码

BEGIN_MESSAGE_MAP(CTestDlg,CDialog)

  //{{AFX_MSG_MAP(CTestDlg)
      ...      

  ON_WM_TIMER()    // 添加的代码  注意:没有 ";"。

  //}}AFX_MSG_MAP

END_MESSAGE_MAP()

  

  接着,在其类所在的".h"文件中的该类中声明如下函数:

  afx_msg void OnTimer(UINT nIDEvent);

  去对应类的".cpp"函数中进行实现:

void CTestDlg::OnTimer(UINT nIDEvent)
{
      switch(nIDEvent)
      {
           case 1:  // 此处既是SetTimer();函数的参数1
                        // 1既是时间参数1
                        SendData();  //调用函数
                        break;
           case 2: // 2既是时间参数2
                        break;
           default:
                        break;
      }          
}        

  点击编译,即可正常使用定时器了。

参考文章:

  MFC中定时器的使用

  http://blog.sina.com.cn/s/blog_4aba2dcd010125zz.html

 

记录地点:深圳WZ

记录时间:2015年12月25日