gpt4 book ai didi

winapi - ValidateRect 与 BeginPaint

转载 作者:行者123 更新时间:2023-12-03 18:42:13 30 4
gpt4 key购买 nike

从 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


多年来我一直在使用 Win32 API 进行编程,但我从未想过调用 ValidateRect功能。今天我的一位同事指出,我们错过了调用 ValidateRect 的电话。 ,它修复了我们使用 GDI 做一些高速动画的错误(我知道,一个矛盾的说法)
谁能告诉我是否可以调用 ValidateRectBeginPaint 之后是必需的/ EndPaint一对?我在 MSDN 上没有看到任何说明这一点的文档,而且我看到的文档和示例表明调用 ValidateRect没有必要。

最佳答案

这不是必需的。 BeginPaint在验证区域时使用,因为您在 WM_PAINT 中处理(绘制)了它.
ValidateRect更多的是要“取消失效”,一般是在没有WM_PAINT的窗口上直接画完之后或者因为某些事情发生了变化,您不再希望收到待处理的 WM_PAINT .

它修复了一个错误这一事实可能意味着发生了其他事情,而这意外地修复了它(可能是通过减少 WM_PAINT 消息的数量?),或者错误的观察结果(例如,您更改了两件事,但这一件事引起了人们的注意而不是另一个是实际修复)。

关于winapi - ValidateRect 与 BeginPaint,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12149906/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com