上海勇民液压:vc 中的定时器问题

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/10 06:26:54
我在vc++6.0程序中设置了一个定时器,单步调试时跳到SetTimer(1,10,NULL)这句后竟没法执行OnTimer中的语句,而是直接执行SetTimer(1,10,NULL)的下一语句,也没什么提示消息。不知这是什么问题。谢谢大家了!!

void OnTimer(HWND hwnd,UINT uMsg,UINT_PTR idEvent,DWORD dwTime){
//事件处理
}

SetTimer(NULL, 1, 10, (TIMERPROC)OnTimer);

我知道你用的是 MFC

如果要这样做的话,需要纯Win32环境下或者是:
::SetTimer(NULL, 1, 10, (TIMERPROC)OnTimer);

windows是消息触发机制的操作系统,事件的发生必须在相应的消息处理模块中响应。
你在 OnTimer里设一断点,定时器消息到达后,会转到那里处理。