ITextRangeProvider::GetChildren 메서드(uiautomationcore.h)
지정된 텍스트 범위 내에 포함되거나 완전히 포함되고 지정된 텍스트 범위에 대한 바깥쪽 요소 의 자식 요소인 모든 요소의 컬렉션을 검색합니다.
구문
HRESULT GetChildren(
[out, retval] SAFEARRAY **pRetVal
);
매개 변수
[out, retval] pRetVal
형식: SAFEARRAY**
텍스트 범위로 묶인 모든 자식 요소에 대한 IRawElementProviderSimple 인터페이스에 대한 포인터 배열입니다(해당 범위의 시작 엔드포인트를 기준으로 정렬됨).
텍스트 범위에 자식 요소가 포함되지 않으면 빈 컬렉션이 반환됩니다.
이 매개 변수는 초기화되지 않은 상태로 전달됩니다.
반환 값
형식: HRESULT
메서드가 성공하면 S_OK를 반환하고, 그러지 않으면 HRESULT 오류 코드를 반환합니다.
설명
ITextRangeProvider::GetChildren로 검색된 각 요소에는 RangeFromChild를 통해 검색할 수 있는 유효한 텍스트 범위가 있습니다. 여기에는 ITextProvider와 자식 요소 간의 UI 자동화 트리에 있는 모든 요소가 포함됩니다.
예제
이 예제에서는 이미지 링크가 포함된 텍스트 스트림을 보여 줍니다. 링크는 이미지의 자식이지만 둘 다 동일한 텍스트 범위에 걸쳐 있으며 텍스트 스트림 내에 포함된 개체로 노출됩니다.
Hello <Image Link> World
- 이미지와 링크는 스트림의 ITextProvider의 하위 항목이기도 하며 ITextProvider::RangeFromChild 호출에서 childElement로 지정할 수 있습니다.
- 이미지 또는 링크를 사용하여 ITextRangeProvider::RangeFromChild를 호출하면 동일한 텍스트 범위(Range1)가 반환됩니다.
- GetChildren 는 링크를 반환하지 않습니다.
- GetEnclosingElement 는 텍스트 범위에 대한 이미지를 반환하지 않습니다.
- Range1의 GetEnclosingElement는 링크를 반환합니다.
- Range1의 GetChildren은 자식을 반환하지 않습니다.
- 스트림의 ITextProvider에 대한 텍스트 범위의 GetEnclosingElement는 공급자를 반환합니다.
- 스트림의 ITextProvider에 대한 텍스트 범위의 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, GetEnclosingElement, ITextProvider::RangeFromChild, UI 자동화 공급자 개요, 안전한 배열 사용에 대한 모범 사례