作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
从 MSDN 文档:
The
BeginPaint
function validates the entire client area.The
ValidateRect
function should not be called if a portion of theupdate region must be validated before the next WM_PAINT message isgenerated.1
ValidateRect
功能。今天我的一位同事指出,我们错过了调用
ValidateRect
的电话。 ,它修复了我们使用 GDI 做一些高速动画的错误(我知道,一个矛盾的说法)
ValidateRect
在
BeginPaint
之后是必需的/
EndPaint
一对?我在 MSDN 上没有看到任何说明这一点的文档,而且我看到的文档和示例表明调用
ValidateRect
没有必要。
最佳答案
这不是必需的。 BeginPaint
在验证区域时使用,因为您在 WM_PAINT
中处理(绘制)了它.ValidateRect
更多的是要“取消失效”,一般是在没有WM_PAINT
的窗口上直接画完之后或者因为某些事情发生了变化,您不再希望收到待处理的 WM_PAINT
.
它修复了一个错误这一事实可能意味着发生了其他事情,而这意外地修复了它(可能是通过减少 WM_PAINT
消息的数量?),或者错误的观察结果(例如,您更改了两件事,但这一件事引起了人们的注意而不是另一个是实际修复)。
关于winapi - ValidateRect 与 BeginPaint,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12149906/
从 MSDN 文档: The BeginPaint function validates the entire client area. The ValidateRect function shoul
我是一名优秀的程序员,十分优秀!