CWnd::GetUpdateRect

BOOL GetUpdateRect( LPRECT lpRect, BOOL bErase = FALSE );

返回值:
指定了更新区域的状态。如果更新区域不为空,则返回值为非零值;否则为0。如果lpRect参数被设为NULL,且存在更新区域,则返回非零值;否则为0。

参数:
lpRect指向一个CRect对象或RECT结构,将被用于接收包含更新区域的客户坐标。将这个参数设为NULL以确定在CWnd中是否存在更新区域。如果lpRect为NULL,且存在更新区域,则GetUpdateRect成员函数返回非零值;如果不存在,则返回0。这就提供了一种方法,用来确定WM_PAINT是否是一个无效区域引起的。在Windows 3.0或更早的版本中不要将这个参数设为NULL。
bErase指定更新区域中的背景是否要被擦除。

说明:
这个函数获得完全封闭更新区域的最小矩形的坐标。如果CWnd是用CS_OWNDC创建的,并且映射模式不是MM_TEXT,则GetUpdateRect成员函数用逻辑坐标给出该矩形;否则GetUpdateRect用客户坐标给出矩形。如果不存在更新区域,则GetUpdateRect将矩形设为空(所有的坐标都被设为0)。
bErase成员指定了GetUpdateRect是否要擦除更新区域的背景。如果bErase为TRUE,并且更新区域不为空,则背景将被擦除。为了擦除背景,GetUpdateRect发送一条WM_ERASEBKGND消息。
BeginPaint成员函数获得的更新矩形与GetUpdateRect成员函数获得的矩形相同。
BeginPaint成员函数自动使更新区域有效,因此任何在BeginPaint之后立即调用的GetUpdateRect都返回一个空的更新区域。

请参阅:
CWnd::BeginPaint, ::GetUpdateRect, CWnd::OnPaint, CWnd::RedrawWindow