更新区域

更新区域标识窗口中过期或无效且需要重绘的部分。 系统使用更新区域为应用程序生成 WM_PAINT 消息,并最大程度地减少应用程序花费的时间使其窗口内容保持最新。 系统仅将窗口的无效部分添加到更新区域,只需绘制该部分。

当系统确定某个窗口需要更新时,它会将更新区域的尺寸设置为窗口的无效部分。 设置更新区域不会立即导致应用程序绘制。 相反,应用程序会继续从应用程序消息队列中检索消息,直到没有消息保留。 然后,系统会检查更新区域,如果该区域不为空 (非 NULL) ,则会向窗口过程发送 WM_PAINT 消息。

应用程序可以使用更新区域来生成其 WM_PAINT 消息。 例如,从打开的文件加载数据的应用程序通常会在加载时设置更新区域,以便在处理下一 个WM_PAINT 消息期间绘制新数据。 通常,应用程序不应在其数据更改时绘制,而应通过 WM_PAINT 消息路由所有绘制操作。