描述
InvalidateRect函数向指定的窗口的更新区域添加一个矩形。更新区域表示必须重新绘制的窗口的客户区域的部分。
C++ 语法
BOOL InvalidateRect( __in HWND hWnd, __in const RECT *lpRect, __in BOOL bErase ); |
PowerBASIC 语法
FUNCTION InvalidateRect ( _ BYVAL hWnd AS DWORD, _ BYREF lpRect AS RECT, _ BYVAL bErase AS LONG _ ) AS LONG |
参数
hWnd
[in]处理更新区域更改的窗口。如果此参数为NULL,系统会使所有窗口无效并重新绘制,并在函数返回之前将WM_ERASEBKGND和WM_NCPAINT消息发送到窗口过程。
lpRect
[in]指向包含要添加到更新区域的矩形的客户端坐标的RECT结构的指针。如果此参数为NULL,则将整个客户端区域添加到更新区域。
bErase
[in]指定在更新区域被处理时是否要擦除更新区域内的背景。如果此参数为TRUE,则调用BeginPaint函数时,背景将被清除。如果此参数为FALSE,则背景保持不变。
返回值
如果函数成功,返回值不为零。
如果函数失败,返回值为零。
备注
无效区域累积在更新区域中,直到下一个WM_PAINT消息发生时或直到该区域通过使用ValidateRect或ValidateRgn函数进行验证来处理该区域为止。
只要其更新区域不为空,并且该窗口的应用程序队列中没有其他消息,系统会向窗口发送WM_PAINT消息。
如果更新区域的任何部分的bErase参数为TRUE,则背景将在整个区域中删除,而不仅仅是在指定的部分。
引用文件 #INCLUDE Once
WinUser.inc(包括Windows.inc)


