히트 테스트 및 화면 위치를 통한 탐색
개체의 자식을 찾거나 개체의 크기를 확인하기 위해 클라이언트는 화면에서 테스트 지점에 도달할 수 있습니다. 다음 두 가지 방법을 사용할 수 있습니다.
IAccessible::accHitTest 사용
지점이 개체 내에 있는지, 자식 개체 내에 있는지 또는 둘 다 아닌지를 확인하려면, 클라이언트는 부모 개체의 IAccessible::accHitTest 메서드를 호출하여 타겟 테스트할 점의 화면 좌표를 전달합니다. 다음 목록에서는 몇 가지 일반적인 시나리오를 설명합니다.
- 개체의 자식이 지정된 지점에서 겹치면 IAccessible::accHitTest 시각적으로 공간을 차지하는 것처럼 보이는 맨 위 자식을 검색합니다.
- 창이 자식을 덮거나 자식이 부모에 의해 잘린 경우, 덮인 지점을 확인하면 자식이 비록 보이지 않더라도 해당 자식이 검색됩니다.
- 지정된 지점에서 찾은 자식이 자식 요소와 달리 액세스 가능한 개체인 경우 메서드는 자식의 IDispatch 인터페이스를 반환합니다.
IAccessible::accLocation 사용
개체 또는 개체의 자식 중 하나의 화면 위치를 가져오기 위해 클라이언트는 IAccessible::accLocation호출합니다. 이 메서드는 지정된 개체의 경계 사각형의 좌표를 반환합니다. 개체의 모양이 사각형처럼 지정되지 않은 경우 메서드는 전체 개체를 포함하는 가장 작은 사각형의 좌표를 반환합니다.
다음 그림에서는 직사각형이 아닌 개체의 영역과 해당 경계 사각형 간의 관계를 보여 줍니다.
비사각형 개체의 영역(원) 및 경계 사각형을 보여 주는
메모
IAccessible::accHitTest 는 클라이언트가 경계 사각형이 아닌 픽셀 단위로 개체의 위치를 확인할 수 있게 해주기 때문에 IAccessible::accLocation 보다 더 정확합니다. 이 정밀도는 예를 들어 애플리케이션이 마우스 포인터의 위치를 추적하여 정보를 수집하는 경우에 유용합니다.