-
Invalidate 在消息队列中加入一条 WM_PAINT 消息,其无效区为整个客户区。
-
UpdateWindow 直接发送一个 WM_PAINT 消息,其无效区范围就是消息队列中 WM_PAINT 消息(最多只有一条)的无效区。
-
效果很明显,当调用 Invalidate 之后,屏幕不一定马上更新,因为 WM_PAINT 消息不一定在队列头部,而调用 UpdateWindow 会使 WM_PAINT 消息马上执行的,绕过了消息队列。
-
如果调用 Invalidate 之后想马上更新屏幕,那就加上 UpdateWindow() 这条语句。
Invalidate和UpdateWindow的区别
最新推荐文章于 2021-01-27 13:56:17 发布