InvalidateRect 함수(winuser.h)

InvalidateRect 함수는 지정된 창의 업데이트 영역에 사각형을 추가합니다. 업데이트 지역은 다시 그려야 하는 창의 클라이언트 영역 부분을 나타냅니다.

구문

BOOL InvalidateRect(
  [in] HWND       hWnd,
  [in] const RECT *lpRect,
  [in] BOOL       bErase
);

매개 변수

[in] hWnd

업데이트 지역이 변경된 창에 대한 핸들입니다. 이 매개 변수가 NULL이면 시스템은 이 애플리케이션의 창뿐만 아니라 모든 창을 무효화하고 다시 그리며 함수가 반환되기 전에 WM_ERASEBKGNDWM_NCPAINT 메시지를 보냅니다. 이 매개 변수를 NULL 로 설정하는 것은 권장되지 않습니다.

[in] lpRect

업데이트 영역에 추가할 사각형의 클라이언트 좌표를 포함하는 RECT 구조체에 대한 포인터입니다. 이 매개 변수가 NULL이면 전체 클라이언트 영역이 업데이트 지역에 추가됩니다.

[in] bErase

업데이트 영역이 처리될 때 업데이트 영역 내의 배경을 지울지 여부를 지정합니다. 이 매개 변수가 TRUE이면 BeginPaint 함수가 호출되면 배경이 지워집니다. 이 매개 변수가 FALSE이면 배경은 변경되지 않은 상태로 유지됩니다.

반환 값

함수가 성공하면 반환 값이 0이 아닙니다.

함수가 실패하면 반환 값은 0입니다.

설명

무효화된 영역은 다음 WM_PAINT 메시지가 발생할 때 또는 ValidateRect 또는 ValidateRgn 함수를 사용하여 영역의 유효성을 검사할 때까지 지역이 처리될 때까지 업데이트 지역에 누적됩니다.

시스템은 업데이트 영역이 비어 있지 않고 해당 창에 대한 애플리케이션 큐에 다른 메시지가 없을 때마다 창에 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에서 도입)

추가 정보

BeginPaint

InvalidateRgn

그리기 및 그리기 함수

그리기 및 그리기 개요

RECT

ValidateRect

ValidateRgn

WM_ERASEBKGND

WM_NCPAINT

WM_PAINT