在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);
以上代碼將無效整個窗口并請求重新繪制,擦除背景。