大家都在看
Invalid示什么
最佳答案
结论是,Invalidate(false)函数的作用是标记需要重绘的区域,但并不立即执行重绘。它类似于将WM_PAINT消息放入消息队列,等待后续处理。即使在调用Invalidate后,程序可能因其他任务而暂时无法处理该消息,但一旦当前操作完成,消息处理就会启动,此时才会执行PAINT操作。因此,无论Invalidate被调用在代码的哪个位置,它都会在最后完成重绘。
相比之下,Invalidate(TRUE)除了添加WM_PAINT消息外,还会包含WM_ERASEBKGND,这个消息用于清除客户区的背景色,这意味着在响应WM_PAINT消息并调用OnPaint函数后,画面会被清空,然后重新绘制。所以,使用Invalidate(TRUE)相当于先清除原有内容再进行新的绘制。
声明:知趣百科所有作品均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请在页面底部查找“联系我们”的链接,并通过该渠道与我们取得联系以便进一步处理。