勇芳软件工作室.汉化:  Painting and Drawing > Painting and Drawing Functions >

InvalidateRect

Previous pageReturn to chapter overviewNext page

描述

 

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_ERASEBKGNDWM_NCPAINT消息发送到窗口过程。

 

lpRect

 

[in]指向包含要添加到更新区域的矩形的客户端坐标的RECT结构的指针。如果此参数为NULL,则将整个客户端区域添加到更新区域。

 

bErase

 

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

 

返回值

 

如果函数成功,返回值不为零。

 

如果函数失败,返回值为零。

 

备注

 

无效区域累积在更新区域中,直到下一个WM_PAINT消息发生时或直到该区域通过使用ValidateRect或ValidateRgn函数进行验证来处理该区域为止。

 

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

 

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

 

引用文件 #INCLUDE Once

 

WinUser.inc(包括Windows.inc)