ITextRangeProvider::Move 方法(uiautomationcore.h)
將文字範圍向前或向後移動指定的文字單位數目。
語法
HRESULT Move(
[in] TextUnit unit,
[in] int count,
[out, retval] int *pRetVal
);
參數
[in] unit
類型:TextUnit
文字單位的類型,例如字元、文字、段落等等。
[in] count
類型:int
要移動的文字單位數目。 正值會將文字範圍向前移動。
負值會將文字範圍向後移動。 零沒有作用。
[out, retval] pRetVal
類型:int*
實際移動的文字單位數目。 如果其中一個新文字範圍端點大於或小於 ITextProvider::D ocumentRange 方法所擷取的端點,這可以小於所要求的數位。 如果巡覽是在向後方向進行,這個值可能是負值。
傳回值
類型:HRESULT
如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。
言論
ITextRangeProvider::Move 應該只會移動文字範圍以跨越不同部分的文字,它不應該以任何方式改變文字。
對於非變質(非空白)文字範圍,ITextRangeProvider::Move 應該執行下列步驟來正規化和移動文字範圍。
- 將文字範圍折疊至起始端點處的變質 (空白) 範圍。
- 如有必要,請將檔中產生的文字範圍向後移動至所要求單位界限的開頭。
- 依所要求的文字單位界限數目,將檔中的文字範圍向前或向後移動。
- 藉由將結束端點向前移動一個要求的文字單位界限,從變質狀態展開文字範圍。
對於變質的文字範圍,ITextRangeProvider::Move 應該只依照指定的文字單位數目移動文字插入點。
移動文字範圍時,提供者應該忽略文字中任何內嵌物件的界限。
ITextRangeProvider::Move 應同時遵守隱藏和可見的文字。
如果文字型控件不支援 單位 參數所指定的文字單位,提供者應該取代下一個較大的支持文字單位。
文字單位的大小,從最小單位到最大,如下所示。
- 字元
- 格式
- 詞
- 線
- 段
- 頁
- 公文
單位TextUnit::Format
時 範圍行為
TextUnit::Format
做為 單位, 值會定位文字範圍的界限,以根據範圍內的文字共用文字屬性(格式)來展開或移動範圍。 不過,使用格式文字單位不應該移動或展開內嵌物件界限之間的文字範圍,例如影像或超連結。 如需詳細資訊,請參閱 UI 自動化文字單位 或 Text 和 TextRange 控制項模式。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows XP [傳統型應用程式 |UWP 應用程式] |
支援的最低伺服器 | Windows Server 2003 [傳統型應用程式 |UWP 應用程式] |
目標平臺 | 窗戶 |
標頭 | uiautomationcore.h (包括 UIAutomation.h) |
另請參閱
概念
參考