VC创建定时器

Vc++6.0  定时器的创建和关闭

如下实现的是:在工程运行后,每5秒定时弹出一个MessageBox窗口
  1. MFC工程dialog中的使用:(工程创建:打开VC6.0---菜单file---new---projects----MFC AppWizard(exe)  工程命名为:XS)
  2. 在进入Dialog画面时,设置定时器::SetTimer(~~~~~~),如下是在CXSDlg类中成员函数OnInitDialog设置
     CXSDlg::OnInitDialog函数里
    {
    ::SetTimer(this->hWnd,8,5000,NULL)   //(this->hWnd为当前Dialog)(8为ID)(5000为5秒),NULL~~~~~
    return TRUE;
    }
    
  3. 以下:菜单view---ClassWizard---会弹出一个MFC ClassWizard画面,在画面Messages:中找到WM_TIMER选中后---MFC ClassWizard画面右手边单击Add Function---单击下面的Edit Codes
  4. 此后会进入到:void CTestkbDlg::OnTimer(UINT nIDEvent)
    {
     // TODO: Add your message handler code here and/or call default
    //在这里写入每一段时间里你想实现的代码就可以,现在,我只实现弹出“你好!XS”
      MessageBox("你好!XS");
      CDialog::OnTimer(nIDEvent);
    }
    
    运行试试看~~你会发现,一进入介面,就每5秒弹出一个窗口“你好!XS”
  5. 如果你想实现按下一个控件BUTTEN来实现定时器,可以把::SetTimer(this->hWnd,8,5000,NULL) 这个写入到你的BUTTEN控件函数中,就可以实现,记住,在用完Timer定时器后用KillTimer()把定时器关掉o(^_^)o
  6. 最后,如果你不是用ClassWizard来创建OnTimer()函数, 而是自己创建:
    1. CXSDlg.h文件中,写入afx_msg void OnTimer(UINT nIDEvent);声明的
    2. CXSDlg.cpp文件:写入OnTimer()函数代码段的,
    3. 记得也要在CXSDlg.cpp文件中的如下位置写入 ON_WM_TIMER():
      BEGIN_MESSAGE_MAP(CTestkbDlg, CDialog)
       //{{AFX_MSG_MAP(CTestkbDlg)
       ON_WM_SYSCOMMAND()
       ON_WM_PAINT()
       ON_WM_QUERYDRAGICON()
       ON_WM_TIMER()
       //}}AFX_MSG_MAP
      END_MESSAGE_MAP()