共用方式為


IUIAutomationTextRange::Move 方法 (uiautomationclient.h)

將文字範圍向前或向後移動指定的文字單位數。

語法

HRESULT Move(
  [in]          TextUnit unit,
  [in]          int      count,
  [out, retval] int      *moved
);

參數

[in] unit

類型: TextUnit

值,指定文字單位的類型,例如字元、文字、段落等等。

[in] count

類型: int

要移動的文字單元數。 正值會將文字範圍向前移動。 負值會將文字範圍向後移動。 零沒有作用。

[out, retval] moved

類型: int*

接收實際移動的文字單位數目。 如果新的文字範圍端點大於或小於 IUIAutomationTextPattern::D ocumentRange 方法所擷取的端點,這可以小於所要求的數位。 如果巡覽是在向後方向發生,這個值可能是負值。

傳回值

類型: HRESULT

如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。

備註

IUIAutomationTextRange::Move 移動 文字範圍以跨越文字的不同部分;它不會以任何方式改變文字。

對於非變質 (非空白) 文字範圍, IUIAutomationTextRange::Move 會執行下列步驟來正規化範圍並移動範圍。

  1. 文字範圍會折疊成 (起始端點的空白) 範圍。
  2. 如有必要,產生的文字範圍會向後移動至所要求文字單位界限的開頭。
  3. 文字範圍會依要求的文字單位界限數目往前或往後移動。
  4. 文字範圍會藉由將結束端點向前移動一個要求的文字單位界限,從變質狀態展開。
如果上述任何步驟失敗,文字範圍會保持不變。 如果文字範圍無法移至所要求的文字單位數,但可以由較小的文字單位移動,則文字範圍會由較小的文字單位移動,而 移動 的文字單位會設定為移動的文字單位數目。

對於變質的文字範圍, IUIAutomationTextRange::Move 只會依指定的文字單位數移動文字插入點。

移動文字範圍時, IUIAutomationTextRange::Move 會忽略文字中任何內嵌物件的界限。

IUIAutomationTextRange::Move 會採用隱藏和可見的文字。

如果以文字為基礎的控件不支援 unit 參數所指定的文字單位, IUIAutomationTextRange::Move 會取代下一個較大的支持文字單位。

文字單位的大小,從最小單位到最大,如下所示。

  • 字元
  • 格式
  • Word
  • Paragraph
  • 頁面
  • 文件

單位為 時的範圍行為TextUnit::Format

TextUnit::Format 作為 單位 值,會將文字範圍的界限定位為根據共用文字屬性來展開或移動範圍, (格式) 範圍內的文字。 不過,使用格式文字單位並不會在內嵌物件的界限之間移動或展開文字範圍,例如影像或超連結。 如需詳細資訊,請參閱文字內容的 使用者介面自動化 文字單位使用者介面自動化 支援

規格需求

需求
最低支援的用戶端 Windows 7、Windows Vista SP2 和 Platform Update for Windows Vista、Windows XP 含 SP3 和適用於 Windows Vista 的平臺更新 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 R2、Windows Server 2008 SP2 和 Platform Update for Windows Server 2008、Windows Server 2003 SP2 和 Platform Update for Windows Server 2008 [僅限桌面應用程式]
目標平台 Windows
標頭 uiautomationclient.h (包含 UIAutomation.h)

另請參閱

IUIAutomationTextRange

文字內容的 使用者介面自動化 支援