InvalidateRgn功能将指定区域中的客户端区域添加到窗口的当前更新区域,使其无效。无效区域以及更新区域中的所有其他区域在下一个WM_PAINT消息发生时被标记为绘画。
BOOL InvalidateRgn(
HWND 【的hWnd】, | //更改更新区域的窗口的句柄 |
HRGN 【HRGN】, | //要添加的区域的句柄 |
BOOL 【// erase-background flag】 | // erase-background标志 |
); |
参数
【的hWnd】
标识具有要修改的更新区域的窗口。
【HRGN】
标识要添加到更新区域的区域。假设该区域具有客户端坐标。如果此参数为NULL,则将整个客户端区域添加到更新区域。
【// erase-background flag】
指定在更新区域被处理时是否应该擦除更新区域内的背景。如果此参数为TRUE,则调用BeginPaint函数时,背景将被清除。如果参数为FALSE,则背景保持不变。
返回值
返回值始终为零。
备注
无效区域累积在更新区域中,直到下一个WM_PAINT消息被处理或直到该区域通过使用ValidateRect或ValidateRgn函数进行验证。
每当其更新区域不为空并且该窗口的应用程序队列中没有其他消息时,Windows会向窗口发送WM_PAINT消息。
必须通过使用其中一个区域函数创建指定的区域。
如果更新区域的任何部分的【// erase-background flag】参数为TRUE,则整个区域中的背景将被清除,而不仅仅是在指定的部分。
也可以看看
BeginPaint, InvalidateRect, ValidateRect, ValidateRgn, WM_PAINT