ITextRangeProvider::GetChildren 方法 (uiautomationcore.h)
擷取 (包含在指定文字範圍內部分或完全) 之所有元素的集合,而且是指定之文字範圍的 封入專案 子元素。
語法
HRESULT GetChildren(
[out, retval] SAFEARRAY **pRetVal
);
參數
[out, retval] pRetVal
類型: SAFEARRAY**
IRawElementProviderSimple 介面的指標陣列,這些子元素是由文字範圍所括住的所有子元素, (依其範圍的 Start 端點排序) 。
如果文字範圍不包含任何子專案,則會傳回空集合。
這個參數會以未初始化的狀態傳遞。
傳回值
類型: HRESULT
如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。
備註
使用 ITextRangeProvider::GetChildren 擷取的每個元素都有可透過 RangeFromChild 擷取的有效文字範圍。 這包括 ITextProvider 與子元素之間 使用者介面自動化 樹狀結構中的任何元素。
範例
此範例顯示包含影像連結的文字數據流。 連結是影像的子系,但同時跨越相同的文字範圍,並且會公開為文字數據流中的內嵌物件。
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 的所有子元素,在此案例中只會傳回 table 元素。
- 案例 2:在數據表元素上呼叫 ITextProvider::RangeFromChild 取得的文字範圍:
- ITextRangeProvider::GetEnclosingElement 會傳回 table 元素。
- ITextRangeProvider::GetChildren 會傳回這兩個表格單元格。
- 案例 3:跨越 表格單元格 1 表格單元格 2 之視覺內容的文字範圍:
- ITextRangeProvider::GetEnclosingElement 會傳回 table 元素。
- 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、使用者介面自動化 提供者概觀、使用安全陣列的最佳作法