InvalidateRect 函式 (winuser.h)
InvalidateRect函式會將矩形新增至指定的視窗更新區域。 更新區域代表必須重新繪製之視窗工作區的部分。
語法
BOOL InvalidateRect(
[in] HWND hWnd,
[in] const RECT *lpRect,
[in] BOOL bErase
);
參數
[in] hWnd
視窗的控制碼,其更新區域已變更。 如果此參數為 Null,系統會使所有視窗失效並重繪,而不只是此應用程式的視窗,並在函式傳回之前傳送 WM_ERASEBKGND 和 WM_NCPAINT 訊息。 不建議將此參數設定為 Null 。
[in] lpRect
RECT結構的指標,其中包含要加入至更新區域的矩形用戶端座標。 如果此參數為 Null,則會將整個工作區新增至更新區域。
[in] bErase
指定在處理更新區域時,是否要清除更新區域內的背景。 如果此參數為 TRUE,則會在呼叫 BeginPaint 函式時清除背景。 如果此參數為 FALSE,背景會保持不變。
傳回值
如果函式成功,則傳回非零的值。
如果此函式失敗,則傳回值為零。
備註
不正確區域會累積在更新區域中,直到下一 個WM_PAINT 訊息發生時,或直到使用 ValidateRect 或 ValidateRgn 函式驗證區域為止。
每當WM_PAINT訊息的更新區域不是空的,而且該視窗的應用程式佇列中沒有其他訊息時,系統就會將 WM_PAINT 訊息傳送至視窗。
如果更新區域的任何部分 的 bErase 參數為 TRUE ,則會在整個區域中清除背景,而不只是在指定的部分中清除。
範例
如需範例,請參閱 使工作區失效。
規格需求
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | winuser.h (包含 Windows.h) |
程式庫 | User32.lib |
Dll | User32.dll |
API 集合 | ext-ms-win-ntuser-draw-l1-1-0 (在 Windows 8) |