您的位置:首页 > 其它

Invalidate和UpdateWindow的区别

2013-02-26 17:19 337 查看
[align=left]Invalidate在消息队列中加入一条WM_PAINT消息,其无效区为整个客户区。[/align]

[align=left]UpdateWindow直接发送一个WM_PAINT消息,其无效区范围就是消息队列中WM_PAINT消息(最多只有一条)的无效区。[/align]

[align=left]效果很明显,当调用Invalidate之后,屏幕不一定马上更新,因为WM_PAINT消息不一定在队列头部,而调用UpdateWindow会使WM_PAINT消息马上执行的,绕过了消息队列。[/align]

[align=left]如果调用Invalidate之后想马上更新屏幕,那就加上UpdateWindow()这条语句。 [/align]

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: