VC记时函数

来源:互联网 发布:门店销售数据分析 编辑:程序博客网 时间:2024/05/18 20:35

//.h头文件中定义

 UINT teven0;

//.Cpp文件中添加

void PASCAL CallProc(UINT wTimerID,   UINT   msg,   DWORD dwUser,   DWORD   dw1,   DWORD   dw2);//预定义
//处理函数

void CtimertestDlg::OnBnClickedButton1()
{
 teven0=timeSetEvent(100,1,CallProc,(DWORD)this,TIME_PERIODIC);
}


void CtimertestDlg::OnBnClickedButton2()
{
 timeKillEvent(teven0);
}

void PASCAL CallProc(UINT wTimerID,   UINT   msg,   DWORD dwUser,   DWORD   dw1,   DWORD   dw2) //响应函数,所需要处理的内容均可在此处理
{
 PostMessage(hwnd,WM_I,NULL,NULL);//这里我定义了一个用户事件WM_I,可以直接在这里处理一些内容或者通过其他方式调用事件
}
/*
       MMRESULT timeSetEvent( UINT uDelay,

                               UINT uResolution,

                               LPTIMECALLBACK lpTimeProc,

                               WORD dwUser,

                               UINT fuEvent )

  该函数设置一个定时回调事件,此事件可以是一个一次性事件或周期性事件。事件一旦被激活,便调用指定的回调函数, 成功后返回事件的标识符代码,否则返回NULL。函数的参数说明如下:

       uDelay:以毫秒指定事件的周期。

       Uresolution:以毫秒指定延时的精度,数值越小定时器事件分辨率越高。缺省值为1ms。

       LpTimeProc:指向一个回调函数。

       DwUser:存放用户提供的回调数据。

       FuEvent:指定定时器事件类型:

       TIME_ONESHOT:uDelay毫秒后只产生一次事件

       TIME_PERIODIC :每隔uDelay毫秒周期性地产生事件

*/

源代码放在资源文件里面了。