ITextProvider::RangeFromChild 메서드(uiautomationcore.h)
지정된 자식 요소(예: 이미지, 하이퍼링크 또는 기타 포함된 개체)를 묶는 텍스트 범위를 검색합니다.
구문
HRESULT RangeFromChild(
[in] IRawElementProviderSimple *childElement,
[out, retval] ITextRangeProvider **pRetVal
);
매개 변수
[in] childElement
형식: IRawElementProviderSimple*
지정된 자식 요소의 UI 자동화 공급자입니다.
[out, retval] pRetVal
형식: ITextRangeProvider**
자식 요소를 묶는 텍스트 범위입니다.
이 범위는 다음과 같이 자식 요소의 콘텐츠를 완전히 묶습니다.
- ITextRangeProvider::GetEnclosingElement 는 자식 요소 자체 또는 자식 요소와 동일한 텍스트 범위를 공유하는 자식 요소의 가장 안쪽 하위 요소를 반환합니다.
- ITextRangeProvider::GetChildren 는 범위 내에 완전히 묶인 (1)에서 요소의 자식을 반환합니다.
- 범위의 두 엔드포인트는 모두 자식 요소의 경계에 있습니다.
이 매개 변수는 초기화되지 않은 상태로 전달됩니다.
반환 값
형식: HRESULT
메서드가 성공하면 S_OK를 반환하고, 성공하지 않으면 HRESULT 오류 코드를 반환합니다.
참고
childElement가 ITextProvider의 하위 항목이 아니거나 유효한 텍스트 범위로 묶이지 않으면 E_INVALIDARG 반환됩니다.
설명
ITextRangeProvider::GetChildren로 검색된 각 요소에는 RangeFromChild를 통해 검색할 수 있는 유효한 텍스트 범위도 있습니다. 여기에는 ITextProvider와 자식 요소 간의 UI 자동화 트리에 있는 모든 요소가 포함됩니다.
예제
이 예제에서는 이미지 링크가 포함된 텍스트 스트림을 보여 줍니다. 링크는 이미지의 자식이지만 둘 다 동일한 텍스트 범위에 걸쳐 있으며 텍스트 스트림 내에 포함된 개체로 노출됩니다.
Hello <Image Link> World
- 이미지와 링크는 모두 스트림의 ITextProvider의 하위 항목이기도 하며 ITextProvider::RangeFromChild 호출에서 childElement로 지정할 수 있습니다.
- 이미지 또는 링크를 사용하여 ITextRangeProvider::RangeFromChild를 호출하면 동일한 텍스트 범위(Range1)가 반환됩니다.
- ITextRangeProvider::GetChildren 는 링크를 반환하지 않습니다.
- ITextRangeProvider::GetEnclosingElement 는 텍스트 범위에 대한 이미지를 반환하지 않습니다.
- Range1의 ITextRangeProvider::GetEnclosingElement는 링크를 반환합니다.
- Range1의 ITextRangeProvider::GetChildren는 자식을 반환하지 않습니다.
- 스트림의 ITextProvider에 대한 텍스트 범위의 ITextRangeProvider::GetEnclosingElement는 공급자를 반환합니다.
- 스트림의 ITextProvider에 대한 텍스트 범위의 ITextRangeProvider::GetChildren는 이미지만 반환합니다.
이 예제에서는 텍스트로 둘러싸인 두 셀 테이블이 포함된 텍스트 스트림을 보여 줍니다.
텍스트 시작
표 셀 1 표 셀 2 끝 텍스트
- 사례 1: 스트림의 ITextProvider 및 전체 텍스트 범위
- 전체 텍스트 범위의 ITextRangeProvider::GetEnclosingElement는 스트림의 ITextProvider를 반환합니다.
- GetChildren은 스트림의 ITextProvider의 모든 자식 요소를 반환하며 이 경우 테이블 요소만 반환합니다.
- 사례 2: 테이블 요소에서 ITextProvider::RangeFromChild 를 호출하여 얻은 텍스트 범위:
- ITextRangeProvider::GetEnclosingElement 는 테이블 요소를 반환합니다.
- ITextRangeProvider::GetChildren는 두 표 셀을 모두 반환합니다.
- 사례 3: 표 셀 1 표 셀 2의 시각적 내용을 포괄하는 텍스트 범위:
- ITextRangeProvider::GetEnclosingElement 는 테이블 요소를 반환합니다.
- ITextRangeProvider::GetChildren는 두 표 셀을 모두 반환합니다.
- 사례 4: 표 셀 1의 셀이라는 단어에 걸쳐 있는 텍스트 범위:
- ITextRangeProvider::GetEnclosingElement 는 첫 번째 셀 요소를 반환합니다.
- ITextRangeProvider::GetChildren는 요소를 반환하지 않습니다.
- 사례 5: 시작(표 및 첫 번째 셀)을 모두 나타내는 퇴화(빈) 텍스트 범위입니다.
- ITextRangeProvider::GetEnclosingElement 는 첫 번째 셀 요소(퇴화 범위를 포함하는 범위가 있는 가장 안쪽 요소)를 반환합니다.
- ITextRangeProvider::GetChildren는 요소를 반환하지 않습니다.
- 사례 1: 스트림의 ITextProvider 및 전체 텍스트 범위
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows XP [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows Server 2003 [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | uiautomationcore.h(UIAutomation.h 포함) |
추가 정보
ITextProvider, ITextRangeProvider, ITextRangeProvider::GetEnclosingElement, ITextRangeProvider::GetChildren, UI 자동화 공급자 개요