打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
用实例学习Ontimer和SetTimer
void CActiveXClockCtrl::OnTimer(UINT nIDEvent) 

InvalidateControl(NULL); 
//COleControl::Refresh(); 
COleControl::OnTimer(nIDEvent); 


我对Ontimer不是太清楚,nIDEvent的作用是什么? 
InvalidateControl(NULL);是不是redraw的意思,可是我设计的时钟总是不更新时间呢,除非手动改变大小时会更新时间。 
是不是我的interval没有设置好? 
相关程序如下: 
int CActiveXClockCtrl::OnCreate(LPCREATESTRUCT lpCreateStruct) 

if(COleControl::OnCreate(lpCreateStruct)==-1) 
return -1; 
//建立定时器,时间间隔为m_updateInterval的值 
SetTimer(1, (UINT)m_updateInterval, NULL); 
return 0; 



----------------------------------------------------------------------

nIDEvent的作用是什么? 
=============================================== 
SetTimer(1, (UINT)m_updateInterval, NULL); 
里面的1就是和OnTimer的参数nIDEvent对应的啦。 
也可以使用SetTimer(2, 3000, NULL); 
SetTimer(3, 2000, NULL); 
可以设定多个,OnTimer里用nIDEvent进行区分, 
switch(nIDEvent) 

case 1: 
............... 
break; 
case 2: 
............... 
break; 
case 3: 
............... 
break; 


--------------------------------------------------------

nIDEvent的作用是什么? 
=============================================== 
你可以设置多个时间控件, 
nIDEvent这个参数用来标识这些不同的控件 

--------------------------------------------------------

nIDEvent的作用是什么? 
=============================================== 
您可以在您的的程序中设置多个定时器,他们发送的都是WM_TIMER消息,wTimerID = wParam; 
所以当使用了多个定时器的情况下,在响应WM_TIMER时,一定要要先检查wTimerID(也就是在SetTimer()的第一个参数指定的,也就是OnTimer(UINT nIDEvent)的参数)。 

SetTimer(1, (UINT)m_updateInterval, NULL); 
里面的1就是和OnTimer的参数nIDEvent对应的啦。 
也可以使用SetTimer(2, 3000, NULL); 
SetTimer(3, 2000, NULL); 
可以设定多个,OnTimer里用nIDEvent进行区分, 
switch(nIDEvent) 

case 1: 
............... 
break; 
case 2: 
............... 
break; 
case 3: 
............... 
break; 

InvalidateControl(NULL)让整个控件redraw,您把COleControl::OnTimer(nIDEvent);注释掉试试 
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
MFC TIMER
VC中定时器的使用_VC技术文章_VC_软件编程
设置多个定时器
MFC中计时器的编写
settimer,ontimer,killtimer功能
OnTimer定时器的工作原理
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服