BOOL InvalidateRect(
HWND hWnd, // handle of window with changed update region
CONST RECT *lpRect, // address of rectangle coordinates
BOOL bErase // erase-background flag
);
参数:
hWnd:要更新的客户区所在的窗体的 句柄 。如果为NULL,则系统将在函数返回前重新绘制所有的窗口, 然后发送WM_ERASEBKGND 和 WM_PAINT 给窗口 过程 处理函数。
lpRect:无效区域的矩形代表,它是一个 结构体 指针 ,存放着矩形的 大小 。如果为NULL,全部的窗口客户区域将被增加到更新区域中。
bErase:指出无效矩形被 标记 为有效后,是否重画该区域,重 画时 用预先定义好的画刷。当指定TRUE时需要重画。
返回值:
函数成功则返回 非零值 ,否则返回零值。
说明:被标记为无效矩形的区域直到 WM_PAINT消息 被处理完之后才会消失,或者使用ValidateRect(), ValidateRgn ()函数来使之有效。当 应用程序 的 消息队列 中为 空时 ,并且窗体要更新的区域非空时,系统会发送一个WM_PAINT消息到窗体。
这两个都用于声明客户区无效,当下一个WM_PAINT消息到来时发生重画。
其中InvalidateRect(hwnd, NULL, true);重画时将擦除背景。
InvalidateRect(hwnd, NULL, false);重画时不擦除背景
HWND hWnd, // handle of window with changed update region
CONST RECT *lpRect, // address of rectangle coordinates
BOOL bErase // erase-background flag
);
参数:
hWnd:要更新的客户区所在的窗体的 句柄 。如果为NULL,则系统将在函数返回前重新绘制所有的窗口, 然后发送WM_ERASEBKGND 和 WM_PAINT 给窗口 过程 处理函数。
lpRect:无效区域的矩形代表,它是一个 结构体 指针 ,存放着矩形的 大小 。如果为NULL,全部的窗口客户区域将被增加到更新区域中。
bErase:指出无效矩形被 标记 为有效后,是否重画该区域,重 画时 用预先定义好的画刷。当指定TRUE时需要重画。
返回值:
函数成功则返回 非零值 ,否则返回零值。
说明:被标记为无效矩形的区域直到 WM_PAINT消息 被处理完之后才会消失,或者使用ValidateRect(), ValidateRgn ()函数来使之有效。当 应用程序 的 消息队列 中为 空时 ,并且窗体要更新的区域非空时,系统会发送一个WM_PAINT消息到窗体。
这两个都用于声明客户区无效,当下一个WM_PAINT消息到来时发生重画。
其中InvalidateRect(hwnd, NULL, true);重画时将擦除背景。
InvalidateRect(hwnd, NULL, false);重画时不擦除背景