ITextRange.Move(TextRangeUnit, Int32) 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
依指定的 單位數目往前或向後移動插入點,。 如果文字範圍不產生,則會根據 計數,折疊至文字範圍開頭或結束位置的插入點,然後移動。
public:
int Move(TextRangeUnit unit, int count);
int Move(TextRangeUnit const& unit, int const& count);
public int Move(TextRangeUnit unit, int count);
function move(unit, count)
Public Function Move (unit As TextRangeUnit, count As Integer) As Integer
參數
- unit
- TextRangeUnit
移動插入點的單位。 預設值為 字元。
- count
-
Int32
int
要移動插入點的 單位數目。 預設值為 1。 如果 計數 大於零,插入點會往前移動,朝本文結尾移動。 如果 計數 小於零,插入點就會向後移動,朝故事的開頭移動。 如果 計數 為零,則範圍不會變更。
傳回
int
插入點移動 的實際
備註
如果範圍變質(插入點),這個方法會嘗試移動插入點 計數所指定的單位數目,。
如果範圍不產生,且 計數 大於零,此方法會將範圍折疊至範圍結尾的插入點,將產生的插入點向前移動至 單位 界限(如果尚未達到一個),然後嘗試移動 計數 – 1 單位向前移動。 如果範圍不產生,且 計數 小於零,此方法會將範圍折疊到範圍開頭的插入點,將產生的插入點向後移動至 單位 界限(如果尚未達到一個),然後嘗試移動 計數 – 1 個 單位向後移動。 因此,在這兩種情況下,無論是在折疊之後移至 單位的開始或結尾,都會將非產生的範圍折疊至插入點, 計算為 單位。
這個方法會傳回實際移動的 單位數目。 這個方法絕不會將插入點移到這個範圍的本文之外。 如果 計數單位會在本文開頭之前移動插入點,則插入點會移至本文開頭,並據以設定結果。 同樣地,如果 計數單位會將插入點移到故事結尾之外,則會移至故事結尾。
Count 會對應至按下 Ctrl+向右鍵的次數。
例如,如果您針對下列兩個圖所示的選取專案按 Ctrl+向右鍵,則最後會進入字元位置 8 的插入點,因為此命令會分別折疊其結尾的選取範圍(7 和 8),並移至下一個 Word 界限。
第一個選取範圍不包含字元位置 7 的空格符,因此 Ctrl+向右鍵會將空格移至字元位置 8 的 **Word** 界限。 範圍的結束位置已經位於第二個選取範圍的 **Word** 界限,因此 Ctrl+向右鍵只會折疊該界限上的選取範圍。 同樣地,Ctrl+向左鍵,此文字的作用就像 'Move(Word, -1)'。 但是 Ctrl+向左鍵會折疊字元位置 4 的第二個選取範圍,然後移至零,因為這是動作方向的下一個 **Word** 界限。return 自變數會設定為等於插入點移動的 單位數目,包括一個 單位 來折疊非產生的範圍,並將它移至 單位 界限。 因此,如果沒有動作且沒有折迭發生,就像範圍是本文結尾的插入點一樣,結果會設定為零。 此方法適用於控制處理整個案例的應用程式迴圈。
在這兩種情況下,呼叫 Move(Word, 1)
會將結果設定為1,因為範圍已折疊。 同樣地,呼叫 Move(Word, -1)
會將結果設定為 - 1,這兩個案例都等於 1。 折疊,無論
動作的方向是指純文本支援存放區中的邏輯字元順序。 這種方法可避免國際軟體中的幾何順序問題,例如左與右、上與下。 當然,編輯引擎仍然需要這類幾何方法,因為鍵盤具有箭頭鍵來叫用幾何移動。
ITextSelection UI 方法會備份在歸位字元/換行字元 (CR/LF) 上,就像是單一字元一樣,但 ITextRange.Move 方法會將歸位字元/換行字元 (CR/LF) 計算為兩個字元。 使用單一字元做為段落分隔符顯然更好,這是CR所代表,雖然接受Unicode段落分隔符0x2029。 一般而言,豐富的編輯控件支援歸位字元/換行字元(CR/LF)、CR、LF、VT(垂直定位)、FF(表單摘要),以及0x2029。 Microsoft Rich Edit 2.0 也支援 CR/CR/LF 以提供回溯相容性。
另請參閱 ITextRange.MoveStart 和 ITextRange.MoveEnd 方法,分別移動範圍開始或結束位置 計數單位 s。