在一个按钮的响应函数中,能获得消息发生的时间么?

shangke_sks 联想 技术经理  2005-03-18 09:54:54
在一个按钮的响应函数中,能获得消息发生的时间么?
typedef struct tagMSG {
HWND hwnd;
UINT message;
WPARAM wParam;
LPARAM lParam;
DWORD time;
POINT pt;
} MSG, *PMSG;

其中那个time纪录着消息发出的时间,请问如何在OnBtnDown函数中获取到按钮按下的时间,而不是函数运行的时间?
...全文
57 点赞 收藏 8
写回复
8 条回复
TianChong 2005年03月19日
单线程也可以灰掉呀
在按下按钮的处理事件中,第一行代码就灰掉这个按钮,以后如果处理事件完毕或出错就显示出错提示再重新Enable,如果顺利结束则最后一句Enable这个按钮.
回复 点赞
shangke_sks 2005年03月18日
情况是这样的,按钮按下的函数需要一段时间才能结束,其间如果再次点击这个按钮的话,这个函数运行完一次后,马上再次运行。

在函数的开始或结尾处添加提示对话框是很好的解决办法,但是觉得还是尊重设计书比较好。所以我想到了检查消息的时间。
回复 点赞
dfyang 2005年03月18日
重载PreTranslateMessage(MSG* pMsg)
回复 点赞
张佩 2005年03月18日
pretranslatemessage中使用GetCurrentTime
回复 点赞
lshadow 2005年03月18日
如果不是对时间精度要求很高的话,不需要考虑消息分派的时间。
回复 点赞
吹泡泡的小猫 2005年03月18日
到OnBtnDown触发时,消息已经被分派处理了好几次了,最好在窗口的
可以在pretranslatemessage中判断,如果是WM_COMMAND消息就检查按钮ID,如果ID符合就把时间记录下来
回复 点赞
shangke_sks 2005年03月18日
楼上的说的方法不行。这个是单线程的。
回复 点赞
oyljerry 2005年03月18日
要不按下后灰掉按钮,等函数完了,再Enable
回复 点赞
发动态
发帖子
界面
创建于2007-09-28

7976

社区成员

11.5w+

社区内容

VC/MFC 界面
社区公告
暂无公告