应用程序使窗口的一部分无效,并使用InvalidateRect或InvalidateRgn功能设置更新区域。这些函数将指定的矩形或区域(在客户端坐标中给出)添加到更新区域,将矩形或区域与任何Windows或应用程序可能先前已添加到更新区域的组合。
InvalidateRect和InvalidateRgn功能不生成WM_PAINT消息。相反,Windows会累积这些功能所做的更改及其自身的更改,同时窗口处理其消息队列中的其他消息。通过累积更改,窗口一次处理所有更改,而不是一次更新一个步骤。
ValidateRect和ValidateRgn功能通过从更新区域中删除指定的矩形或区域来验证窗口的一部分。当窗口在接收到WM_PAINT消息之前更新了更新区域中的屏幕的特定部分时,通常使用这些功能。