다음을 통해 공유


클리핑 영역

클리핑 영역은 애플리케이션이 DC(디바이스 컨텍스트)로 선택할 수 있는 그래픽 개체 중 하나입니다. 일반적으로 직사각형입니다. 일부 디바이스 컨텍스트는 미리 정의되거나 기본 클리핑 영역을 제공하지만 다른 디바이스 컨텍스트는 그렇지 않습니다. 예를 들어 BeginPaint 함수에서 디바이스 컨텍스트 핸들을 가져오는 경우 DC에는 다시 그려야 하는 잘못된 사각형에 해당하는 미리 정의된 사각형 클리핑 영역이 포함됩니다. 그러나 NULLhWnd 매개 변수를 사용하여 GetDC 함수를 호출하거나 CreateDC 함수를 호출하여 디바이스 컨텍스트 핸들을 가져오는 경우 DC는 기본 클리핑 영역을 포함하지 않습니다. BeginPaint 함수에서 반환되는 디바이스 컨텍스트에 대한 자세한 내용은 그리기 및 그리기를 참조하세요. CreateDC 및 GetDC 함수에서 반환되는 디바이스 컨텍스트에 대한 자세한 내용은 디바이스 컨텍스트를 참조하세요.

애플리케이션은 클리핑 영역에서 다양한 작업을 수행할 수 있습니다. 이러한 작업 중 일부는 지역을 식별하는 핸들이 필요하며 일부는 그렇지 않습니다. 예를 들어 애플리케이션은 디바이스 컨텍스트의 클리핑 영역에서 직접 다음 작업을 수행할 수 있습니다.

  • 해당 선, 호, 비트맵, 텍스트 또는 채워진 셰이프의 좌표를 PtVisible 함수에 전달하여 그래픽 출력이 영역 테두리 내에 표시되는지 여부를 결정합니다.
  • RectVisible 함수를 호출하여 클라이언트 영역의 일부가 지역과 교차하는지 여부를 확인합니다.
  • OffsetClipRgn 함수를 호출하여 지정된 오프셋으로 기존 지역을 이동합니다.
  • ExcludeClipRect 함수를 호출하여 현재 클리핑 영역에서 클라이언트 영역의 사각형 부분을 제외합니다.
  • IntersectClipRect 함수를 호출하여 클라이언트 영역의 사각형 부분을 현재 클리핑 영역과 결합합니다.

클리핑 영역을 식별하는 핸들을 가져온 후 애플리케이션은 다음과 같은 지역과 공통적인 모든 작업을 수행할 수 있습니다.

  • CombineRgn 함수를 호출하여 현재 클리핑 영역의 복사본을 두 번째 영역과 결합합니다.
  • EqualRgn 함수를 호출하여 현재 클리핑 영역의 복사본을 두 번째 지역과 비교합니다.
  • PtInRegion 함수를 호출하여 점이 현재 클리핑 영역의 복사본 내부에 있는지 여부를 확인합니다.