InvalidateRgn函式通過添加一個區域到一個視窗的更新區域中來使指定矩形的客戶區域無效;這個無效的區域和所有更新區域中的其他區域將被標記用來在下一個WM_PAINT訊息發生的時候描繪。
BOOL InvalidateRgn(
HWND hWnd, // 視窗的句柄
HRGN hRgn, // 區域的句柄
BOOL bErase // 擦除狀態
);
參數:
hWnd:[輸入]更新區域被修改的視窗HANDLE
hRgn:[輸入]被添加到更新區域的區域HANDLE;這個區域被假定有一個客戶區坐標。如果這個參數是NULL,整個客戶區都被添加進更新區域。
bErase:[輸入]說明當更新區域被處理的時候更新區域內的背景是否要擦除。如果這個參數是TRUE,當BeginPaint函式被調用的時候背景將被擦除,如果參數是FALSE,背景不會改變。
返回值:
返回值總是非0。
備註:
無效的區域被累積,直到下個WM_PAINT訊息被處理或著通過ValidateRect或ValidateRgn來使區域變有效。
系統傳送一個WM_PAINT訊息給到一個視窗,無論視窗的更新區域是不是空的,有沒有其他的訊息在視窗的應用程式佇列中。
指定的區域必須已經通過一個區域函式創建了。
如果更新區域中任何部分的bErase參數是TRUE,整個區域的背景都被擦除,而不是指定的那部分。