창 표시 디바이스 컨텍스트
창 디바이스 컨텍스트를 사용하면 애플리케이션이 비클라이언트 영역을 포함하여 창의 아무 곳이나 그릴 수 있습니다. 창 디바이스 컨텍스트는 일반적으로 사용자 지정 비클라이언트 영역이 있는 창에 대한 WM_NCPAINT 및 WM_NCACTIVATE 메시지를 처리하는 애플리케이션에서 사용됩니다. 다른 용도로는 창 디바이스 컨텍스트를 사용하지 않는 것이 좋습니다.
애플리케이션은 지정된 DCX_WINDOW 옵션과 함께 GetWindowDC 또는 GetDCEx 함수를 사용하여 창 디바이스 컨텍스트를 검색할 수 있습니다. 함수는 디스플레이 디바이스 컨텍스트 캐시에서 창 디바이스 컨텍스트를 검색합니다. 창 디바이스 컨텍스트를 사용하는 창은 최대한 빨리 ReleaseDC 함수를 사용하여 그리기 후에 해제해야 합니다. 창 디바이스 컨텍스트는 항상 캐시에서 가져옵니다. CS_OWNDC 및 CS_CLASSDC 클래스 스타일은 디바이스 컨텍스트에 영향을 미치지 않습니다.
애플리케이션이 창 디바이스 컨텍스트를 검색할 때 시스템은 디바이스 원본을 클라이언트 영역의 왼쪽 위 모서리 대신 창의 왼쪽 위 모서리로 설정합니다. 또한 클라이언트 영역뿐만 아니라 전체 창을 포함하도록 클리핑 영역을 설정합니다. 시스템은 창 디바이스 컨텍스트의 현재 특성 값을 공통 디바이스 컨텍스트와 동일한 기본값으로 설정합니다. 애플리케이션은 특성 값을 변경할 수 있지만 디바이스 컨텍스트가 릴리스될 때 시스템은 변경 내용을 유지하지 않습니다.