다음을 통해 공유


적중 테스트 및 화면 위치를 통한 탐색

개체의 자식을 찾거나 개체의 크기를 확인하려면 클라이언트가 화면의 테스트 지점에 도달할 수 있습니다. 다음 두 가지 메서드를 사용할 수 있습니다.

IAccessible::accHitTest 사용

지점이 개체 내에 있는지, 자식 내에 있는지 또는 둘 다 없는지 식별하기 위해 클라이언트는 부모 개체의 IAccessible::accHitTest 메서드를 호출하여 적중 여부를 테스트할 지점의 화면 좌표를 전달합니다. 다음 목록에서는 몇 가지 일반적인 시나리오를 설명합니다.

  • 개체의 자식이 지정된 지점에서 겹치면 IAccessible::accHitTest 는 시각적으로 공간을 차지하는 것처럼 보이는 최상위 자식을 검색합니다.
  • 창이 자식에 덮이거나 부모가 자식이 잘리는 경우 대상 지점 테스트를 적중하면 자식이 표시되지 않더라도 해당 자식이 검색됩니다.
  • 지정된 지점에서 찾은 자식이 자식 요소가 아닌 액세스 가능한 개체인 경우 메서드는 자식의 IDispatch 인터페이스를 반환합니다.

IAccessible::accLocation 사용

개체 또는 개체의 자식 중 하나의 화면 위치를 가져오기 위해 클라이언트는 IAccessible::accLocation을 호출합니다. 이 메서드는 지정된 개체의 경계 사각형의 좌표를 반환합니다. 개체가 사각형 모양이 아닌 경우 메서드는 전체 개체를 포함하는 가장 작은 사각형의 좌표를 반환합니다.

다음 그림은 사각형이 아닌 개체의 영역 및 해당 경계 사각형 간 관계를 보여 줍니다.

비사각형 개체의 영역(원) 및 경계 사각형을 보여 주는 그림

참고

IAccessible::accHitTest 는 클라이언트가 경계 사각형이 아닌 픽셀 단위로 개체의 위치를 확인할 수 있으므로 IAccessible::accLocation 보다 더 정확합니다. 이 정밀도는 예를 들어 애플리케이션이 마우스 포인터의 위치를 추적하여 정보를 수집하는 경우에 유용합니다.