mfc的窗口为什么闪烁,但是去掉messagebox那一句就正常了??

mfc的窗口为什么闪烁,但是去掉messagebox那一句就正常了??,第1张

OnPaint是界面更新消息响应函数,每次界面的刷新都会触发,当你d出messagebox,实际上再次触发了刷新消息,这样就会闪烁。

OnPaint响应函数中,应尽量优化减少代码,并且不能调用会造成界面刷新触发的任何函数,如果需要打印/显示信息,直接dc.TextOut就好了。

估计你是用Invalidate()对整个窗体进行了定时刷新,如果你只是想刷新list control控件的话,只需要为该控件绑定一个CListBox 型变量,如m_3,那么可以在定时刷新中将Invalidate()改为m_3.Invalidate()就可以实现仅刷新list control控件。实现list control无闪烁

若满意请及时采纳,谢谢


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12193700.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存