ITextRangeProvider::GetEnclosingElement 方法 (uiautomationcore.h)
傳回最內層元素,該元素會括住指定的文字範圍。
語法
HRESULT GetEnclosingElement(
[out, retval] IRawElementProviderSimple **pRetVal
);
參數
[out, retval] pRetVal
類型: IRawElementProviderSimple**
包含指定之 ITextRangeProvider 之最內部元素的 使用者介面自動化 提供者。
注意
封入專案可以跨越超過指定的 ITextRangeProvider。
如果找不到封入專案,則會傳回 ITextRangeProvider 的 ITextProvider 父代。
這個參數會以未初始化的狀態傳遞。
傳回值
類型: HRESULT
如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。
備註
範例
此範例顯示包含影像連結的文字數據流。 連結是影像的子系,但同時跨越相同的文字範圍,並且會公開為文字數據流中的內嵌物件。
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、ITextRangeProvider::GetChildren、使用者介面自動化 Providers 概觀