永发信息网

MFC 中,全局SetTimer函数怎么用?

答案:3  悬赏:40  手机版
解决时间 2021-02-28 17:48
函数原型:SetTimer(HWND hWnd,UINT nIDEvent,UINT uElapse,TIMERPROC lpTimerFunc);
要求:不使用系统的那个OnTimer(nIDEvent)作为回调函数,也就是第四个参数不能是NULL。
问:这时自己的回调函数怎么写?
对应的SetTimer函数该怎么写?
TIMERPROC 是一个什么类型?

这都明白,就问怎么写代码。比方说回调函数写为:
void CALLBACK User::FuncA(HWND hWnd,UINT nMsg,UINT nTimerid,DWORD dwTime){}
SetTimer写为:
SetTimer(hWnd,nIDEvent,uElapse,FuncA);
是否正确?
最佳答案
全局SetTimer函数?你希望自己写消息,直接写VOID CALLBACK TimerProc( HWND hwnd,
UINT uMsg,
UINT_PTR idEvent,
DWORD dwTime
);
将这个函数作为全局,不就行了?
回调函数是全局的,SetTimer可以是类内部的
全部回答
The TIMERPROC type defines a pointer to this callback function VOID CALLBACK TimerProc( HWND hwnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime ); Parameters hwnd [in] Handle to the window associated with the timer. uMsg [in] Specifies the WM_TIMER message. idEvent [in] Specifies the timer's identifier. dwTime [in] Specifies the number of milliseconds that have elapsed since the system was started. This is the value returned by the GetTickCount function. 用的时候,把settimer的第四个参数设为你指定的回调函数的函数名就行了
mfc settimer函数的用法 1) 函数原型及变形 settimer这个api函数的原型 : uint_ptr settimer( hwnd hwnd, // 窗口句柄 uint_ptr nidevent, // 定时器id,多个定时器时,可以通过该id判断是哪个定时器 uint uelapse, // 时间间隔,单位为毫秒 timerproc lptimerfunc // 回调函数 ); 注意:设置第二个参数时要注意,如果设置的等待时间比处理时间短,程序就会出问题了。 回调函数:在这个函数里,放入你想要做的事情的代码,你可以将它设定为null,也就是使用系统默认的回调函数,系统默认认的是ontime函数。 例如 : settimer(m_hwnd,1,1000,null); //一个1秒触发一次的定时器 在mfc程序中settimer被封装在cwnd类中,调用就不用指定窗口句柄了 于是settimer函数的原型变为: uint settimer(uint nidevent,uint nelapse,void(callback export *lpfntimer)(hwnd,uint ,yint ,dword)) ,用法如:settimer(1,1000,null);
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
做什么事,睁一只眼闭一只眼最好,
朋友圈 我要艾特的人对方也是好友 对方能看到
为什么我见到的女人感觉都比自己老婆好看呢
离婚后可不可以要求对方一年内不能结婚
权侑莉微博不关注徐贤,崔秀英微博不关注允儿
如何培养幼儿的创造性思维
大众购物广场在哪里啊,我有事要去这个地方
读甲乙两岛国图,完成下面3题。【小题1】下面
天天快递总公司在哪里
如何在书上做笔记英语
马崖石我想知道这个在什么地方
我的卡罗拉油耗怎么那么高呢
山西大同市云州街99号都什么快递可以到
吧史出怎么去啊,有知道地址的么
现在SM还招练习生吗
推荐资讯
于是最后还是跑来问了.PS2女神异闻录4的问题
弧线是什么
—Doyoulike__________here?—Oh,yes.Theair,
田家峪村地址在什么地方,想过去办事
甲公司与乙公司的控股股东丁公司签订协议,协
美缝是花钱叫人做还是自己搞搞算了
8.04立方分米=多少升
信用卡有逾期记录 申请美国移民签证有影响吗
鲜牛奶里能煮鸡蛋吗
皇家大酒店停车场我想知道这个在什么地方
乔婆婆烤鸭NO.002怎么去啊,有知道地址的么
浅谈公务员面试中如何自我调整心态
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?