神百问Invalidate(FALSE)表示什么

Invalidate(FALSE)表示什么

Invalidate(false)表示不擦除背景,直接画。

Invalidate标记一个需要重绘的无效区域,并不意味着调用该函数后就立刻进行重绘。类似于PostMessage(WM_PAINT),需要处理到WM_PAINT消息时才真正重绘。以为您Invalidate之后还有其他的语句正在执行,

程序没有机会去处理WM_PAINT消息,但当函数执行完毕后,消息处理才得以进行。Invalidate只是放一个WM_PAINT消息在队列里,不做别的,所以只有当当前函数返回后,进入消息循环,取出WM_PAINT,才执行PAINT,所以不管Invalidate放哪里,都是最后的。

Invalidate(FALSE)表示什么

扩展资料

Invalidate(FALSE)与Invalidate(TRUE)区别

使用Invalidate(FALSE)函数时,它只会向消息队列中添加了WM_PAINT消息。

使用Invalidate(TRUE)函数时,它会向消息队列中添加了WM_ERASEBKGND和WM_PAINT两个消息。

WM_ERASEBKGND消息的作用以背景色填充客户区,因此他会将之前绘制的图像情况,然后响应WM_PAINT消息后,会调用OnPaint函数,进行响应图像绘制工作。故Invalidate(TRUE)相当于将原来画的内容清空后,重新绘制。

本文来自网络,不代表本站立场,转载请注明出处:https://www.shenbaiwen.com/at104012.html
上一篇 张震岳的《勇气》 歌词
下一篇 苍山好玩吗 苍山有什么好玩的地方
联系我们

联系我们

在线咨询:

邮箱: 1465333496@qq.com

工作时间:周一至周五,9:00-17:30,节假日休息

手机访问

扫一扫,手机访问

返回顶部