定时器

    xiaoxiao2022-07-02  105

    步骤: 一、头文件里声明定时器消息编号

    #define WM_TIMER1 WM_USER+1 #define WM_TIMER3 WM_USER+3

    WM_USER之前时系统使用的消息编号。

    二、类向导Class Wizard,消息里边找到WM_TIMER,添加处理程序。

    void CMyDlg::OnTimer(UINT_PTR nIDEvent) { // TODO: 在此添加消息处理程序代码和/或调用默认值 switch(nIDEvent) { case WM_TIMER1: { KillTimer(WM_TIMER1); …………//用户代码 } break; case WM_TIMER3: { KillTimer(WM_TIMER3); …………//用户代码 } break; default: break; } CDialog::OnTimer(nIDEvent); }

    三、启动定时器

    SetTimer(WM_TIMER3,2500,NULL);

    2500毫秒=2.5秒。

    四、销毁定时器

    KillTimer(WM_TIMER3);

    定时器不用时要记得销毁,否则就会不停发送定时器消息,不停地调用OnTimer函数。

    以上用法都是对话框类的成员函数,不需要窗口句柄。各个对话框可以建立自己的定时器,并且定时器编号重复也没有关系。

    最新回复(0)