invalidateRgn 函数 (winuser.h)

InvalidateRgn 函数通过将指定区域中的工作区添加到窗口的当前更新区域来使其失效。 发生下一个 WM_PAINT 消息时,将标记失效区域以及更新区域中的所有其他区域进行绘制。

语法

BOOL InvalidateRgn(
  [in] HWND hWnd,
  [in] HRGN hRgn,
  [in] BOOL bErase
);

参数

[in] hWnd

窗口的句柄,其中包含要修改的更新区域。

[in] hRgn

要添加到更新区域的区域的句柄。 假设该区域具有客户端坐标。 如果此参数为 NULL,则整个工作区将添加到更新区域。

[in] bErase

指定在处理更新区域时是否应清除更新区域中的背景。 如果此参数为 TRUE,则调用 BeginPaint 函数时将擦除背景。 如果参数为 FALSE,则背景保持不变。

返回值

返回值始终为非零值。

注解

无效区域在更新区域中累积,直到处理下一 个WM_PAINT 消息,或者直到使用 ValidateRectValidateRgn 函数验证该区域。

每当窗口 更新区域不为空且该窗口的应用程序队列中没有其他消息时,系统就会向窗口发送WM_PAINT消息。

指定的区域必须已使用区域函数之一创建。

如果 bErase 参数对于更新区域的任何部分为 TRUE ,则会擦除整个区域中的背景,而不仅仅是在指定部分。

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 winuser.h (包括 Windows.h)
Library User32.lib
DLL User32.dll
API 集 在 Windows 8) 中引入的 ext-ms-win-ntuser-draw-l1-1-0 (

另请参阅

BeginPaint

InvalidateRect

绘制和绘制函数

绘画和绘图概述

ValidateRect

ValidateRgn

WM_PAINT