GetDCEx 함수(winuser.h)

GetDCEx 함수는 지정된 창의 클라이언트 영역 또는 전체 화면에 대한 DC(디바이스 컨텍스트)에 대한 핸들을 검색합니다. 이후 GDI 함수에서 반환된 핸들을 사용하여 DC에서 그릴 수 있습니다. 디바이스 컨텍스트는 GDI에서 내부적으로 사용되는 불투명 데이터 구조입니다.

이 함수는 GetDC 함수의 확장으로, 애플리케이션이 클라이언트 영역에서 클리핑이 발생하는 방법과 여부를 보다 자세히 제어할 수 있도록 합니다.

구문

HDC GetDCEx(
  [in] HWND  hWnd,
  [in] HRGN  hrgnClip,
  [in] DWORD flags
);

매개 변수

[in] hWnd

DC를 검색할 창에 대한 핸들입니다. 이 값이 NULL이면 GetDCEx 는 전체 화면에 대한 DC를 검색합니다.

[in] hrgnClip

DC의 표시 영역과 결합될 수 있는 클리핑 영역입니다. 플래그 값이 DCX_INTERSECTRGN 또는 DCX_EXCLUDERGN 경우 운영 체제는 지역의 소유권을 가정하고 더 이상 필요하지 않을 때 자동으로 삭제합니다. 이 경우 애플리케이션은 GetDCEx를 성공적으로 호출한 후 지역을 사용하거나 삭제해서는 안 됩니다.

[in] flags

DC를 만드는 방법을 지정합니다. 이 매개 변수는 다음 값 중 하나 이상일 수 있습니다.

의미
DCX_WINDOW
클라이언트 사각형이 아닌 창 사각형에 해당하는 DC를 반환합니다.
DCX_CACHE
OWNDC 또는 CLASSDC 창이 아닌 캐시에서 DC를 반환합니다. 기본적으로 CS_OWNDC 재정의하고 CS_CLASSDC.
DCX_PARENTCLIP
부모 창의 표시되는 영역을 사용합니다. 부모의 WS_CLIPCHILDREN 및 CS_PARENTDC 스타일 비트는 무시됩니다. 원본은 hWnd로 식별되는 창의 왼쪽 위 모서리로 설정됩니다.
DCX_CLIPSIBLINGS
hWnd로 식별된 창 위에 있는 모든 형제 창의 표시되는 영역을 제외합니다.
DCX_CLIPCHILDREN
hWnd로 식별된 창 아래에 있는 모든 자식 창의 표시되는 영역을 제외합니다.
DCX_NORESETATTRS
이 플래그는 무시됩니다.
DCX_LOCKWINDOWUPDATE
이 창을 제외하는 LockWindowUpdate 호출이 적용된 경우에도 그리기를 허용합니다. 추적 중에 그리기에 사용됩니다.
DCX_EXCLUDERGN
hrgnClip으로 식별된 클리핑 영역은 반환된 DC의 표시되는 영역에서 제외됩니다.
DCX_INTERSECTRGN
hrgnClip으로 식별되는 클리핑 영역은 반환된 DC의 표시되는 영역과 교차됩니다.
DCX_INTERSECTUPDATE
예약되어 있으므로 사용하지 마세요.
DCX_VALIDATE
예약되어 있으므로 사용하지 마세요.

반환 값

함수가 성공하면 반환 값은 지정된 창에 대한 DC에 대한 핸들입니다.

함수가 실패하면 반환 값은 NULL입니다. hWnd 매개 변수의 값이 잘못되면 함수가 실패합니다.

설명

디스플레이 DC가 창 클래스에 속하지 않는 한 그리기 후 DC를 해제하려면 ReleaseDC 함수를 호출해야 합니다. 또한 GetDCEx 라는 동일한 스레드에서 ReleaseDC를 호출해야 합니다. DC 수는 사용 가능한 메모리에 의해서만 제한됩니다.

CS_CLASSDC, CS_OWNDC 또는 CS_PARENTDC 클래스가 등록되었을 때 WNDCLASS 구조체에서 스타일로 지정된 경우 함수는 창의 클래스에 속하는 DC에 대한 핸들을 반환합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버 Windows 2000 Server[데스크톱 앱만]
대상 플랫폼 Windows
헤더 winuser.h(Windows.h 포함)
라이브러리 User32.lib
DLL User32.dll

추가 정보

BeginPaint

디바이스 컨텍스트 함수

디바이스 컨텍스트 개요

GetWindowDC

ReleaseDC

WNDCLASS