timeSetEvent

timeSetEvent的原型声明,这一函数包含在MMSystem单元中:

[c++:nogutter]  view plain copy
  1. MMRESULT timeSetEvent(     
  2.   UINT uDelay,     
  3.   UINT uResolution,     
  4.   LPTIMECALLBACK lpTimeProc,     
  5.   DWORD dwUser,     
  6.   UINT fuEvent     
  7. );     


参数说明:
uDelay:事件的延时,微妙计,假如该值超出定时器支持的最大最小的延时范围,程序返回一个错误。
uResolution:计时器事件的分辨率,微秒计。分辨率随值的减小而增加。为零时意味着周期事件以最大的精确度发生。为了降低系统的开销,应用程序应选择能满足要求的最大值。
LpTimeProc:回调函数的地址,当单一事件期满或周期事件到达一个周期。假如fuEvent指定了TIME_CALLBACK_SET或 TIME_CALLBACK_EVENT_PULSE标记,lpTimeProc被当作一个事件对象的指针,the event will be set or pulsed upon completion of a single enent or periodically upon completion of periodic events.
dwUser:用户提供的回调数据。
fuEvent:定时器类型,参数可能包含下列值之一。
Value                         Meaning
TIME_ONESHOT ----One shot 时间发生,一旦经过uDelay毫秒时间.
TIME_PERIODIC ----periodic 每过uDelay 毫秒事件发生一次
也可能是下面的值:
Value                         Meaning
TIME_CALLBACK_FUNCTION
Call back function 当计时期满,窗口调用lpTimeProc参数指定的函数,为默认值。
TIME_CALLBACK_EVENT_SET
Call back event set 当计时器到期,窗口调用SetEvent函数,通过lpTimeProc参数设置事件指向,( to set the event pointed to by the lpTimeProc parameter),dwUser参数被忽略。
TIME_CALLBACK_EVENT_PULSE
Callback event pulse

返回值:假如调用成功或是其他错误时,为计时器事件返回一个标识符,假如失败或计时器事件为创建,返回值为零,该值也发送给回调函数。

注意:为周期事件调用timeSetEvent函数时要求相应的调用timeKillEvent函数。


使用timeKillEvent函数
#include "mmsystem.h"  //包含头文件
#pragma comment(lib, "winmm.lib")  //导入lib

UINT nID;//声明计时器ID
void CALLBACK CallBackFunc(UINT uID,UINT uMsg,DWORD dwUser,DWORD dw1,DWORD dw2) 

{

} //定义回调函数
nID= ::timeSetEvent (m_iTimeSpance, 1, CallBackFunc,(DWORD)this,TIME_PERIODIC);  //开启计时器
timeKillEvent(nID);   //关闭计时器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值