在Windows中,InvalidateRect函数用于指示窗口或控件的区域无效并请求重新绘制。其函数原型如下:
BOOL InvalidateRect(
HWND hWnd, // 窗口句柄
const RECT *lpRect, // 指向要无效的矩形区域的指针,如果为NULL则无效整个窗口
BOOL bErase // 指定是否擦除背景,TRUE为擦除,FALSE为不擦除
);
使用InvalidateRect函数的一般步骤如下:
示例代码如下:
// 获取窗口句柄
HWND hWnd = GetSafeHwnd();
// 创建一个RECT结构体,无效整个窗口
RECT rect;
GetClientRect(hWnd, &rect);
// 调用InvalidateRect函数,擦除背景
InvalidateRect(hWnd, &rect, TRUE);
以上代码将无效整个窗口并请求重新绘制,擦除背景。