GUI执行While(true)点击屏幕问题
mfc吧
全部回复
仅看楼主
level 1
测控行业,请教一下!
公司的远古代码,将测量的耗时操作放在了GUI。测量结果曲线通过ReDrawWindow刷新显示,但是测量过程中鼠标点击屏幕必然会导致白屏。
我尝试过将测量耗时动作放在线程中执行,但是整个测量动作偶尔会出现问题,动作不对,像是某些语句,某些判断没有执行,而且还是随机位置。所以一直将线程的方法搁置。
现在我是用的方法为:“在整个GUI的while中放入PumpMessage可以处理点击消息,同时使用EnableWindow控制整个界面控件无效,再使用SetFocus消除焦点丢失置后台页面的副作用。”这样实现了点击不白屏。但是PumpMessage过于吃资源,在while中的采集数据会变慢,导致精度不足。所以这个方法也忽略。
也在淘bao上找过所谓的高手,可是连我的问题都分析不明白。还在告诉我使用PreTranslateMessage来过滤鼠标消息。现在无延时while处理采集,mfc的消息框架已经没有空隙接收鼠标点击消息的输入了。点击屏幕的消息已经阻塞在外,还谈何内部过滤?
希望各路大侠可以支高招!不胜感激!
2025年08月19日 01点08分 1
level 1
可以给你修改
2025年08月23日 14点08分 2
@贴吧用户_5VQZZQK 你可以把相关的必要代码发给我,我给你改好。
2025年08月26日 01点08分
讲一下您的思路?如果可以,有偿感谢[呵呵]
2025年08月26日 01点08分
@哥有详解 我好像找到解决方法的[欢呼][欢呼][欢呼]
2025年08月26日 02点08分
吧务
level 12
[阴险][阴险]
2025年08月27日 08点08分 3
1