在Windows中,InvalidateRect函數(shù)用于指示窗口或控件的區(qū)域無效并請求重新繪制。其函數(shù)原型如下:
BOOL InvalidateRect(
HWND hWnd, // 窗口句柄
const RECT *lpRect, // 指向要無效的矩形區(qū)域的指針,如果為NULL則無效整個窗口
BOOL bErase // 指定是否擦除背景,TRUE為擦除,F(xiàn)ALSE為不擦除
);
使用InvalidateRect函數(shù)的一般步驟如下:
示例代碼如下:
// 獲取窗口句柄
HWND hWnd = GetSafeHwnd();
// 創(chuàng)建一個RECT結構體,無效整個窗口
RECT rect;
GetClientRect(hWnd, &rect);
// 調用InvalidateRect函數(shù),擦除背景
InvalidateRect(hWnd, &rect, TRUE);
以上代碼將無效整個窗口并請求重新繪制,擦除背景。