定时器

1.在OnInitDialog()函数下:
    SetTimer(0x2226,10*60*1000,NULL);//定时10分钟
//原理:
    SetTimer函数的原型
    UINT_PTR SetTimer(
    HWND hWnd,//窗口句柄
    UINT_PTR nIDEvent,//定时器ID,多个定时器时,可以通过ID判断是哪个定时器
    UINT nElapse,//时间间隔,单位为毫秒
    TIMERPROC lpTimerFunc//回调函数
    );

    在MFC程序中SetTimer被封装在CWnd类中,调用就不用指定窗口句柄了。
    于是SetTimer函数的原型变为:
    UINT SetTimer(UINT nIDEvent,UINT nElapse,void(CALLBACK EXPORT *lpfnTimer)(HWND,UINT ,YINT,DWORD))
    当使用SetTimer函数的时候,就会生成一个定时器,函数中nIDEvent指的是定时器的标识,也就是名字。nElapse指的是时间    间隔,也就是每隔多长时间触发一次事件。第三个参数是一个回调函数,在这个函数里,放入你想要做的事情的代码,你可以    将它设置为NULL,也就是使用系统默认的回调函数,系统默认的是OnTimer函数。这个函数是怎么生成的呢?你需要在需要计    时器的类生成OnTimer函数,在ClassWizard里,选择要计时的类,添加WM_TIMER消息映射,就自动生成OnTimer函数了。
2.在OnTimer()函数下:
    if(0x2226 == nIDEvent)//根据定时器ID,做相应操作
    {
        ......
    }

 

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

posted @ 2017-02-08 10:42  那一剑的風情  阅读(237)  评论(0编辑  收藏  举报