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
カーソルを移動
戻り値
int
カーソルが移動
注釈
範囲が縮退 (挿入ポイント) の場合、このメソッドは、カウントで指定された単位数カーソル位置を移動しようとします。
範囲が非生成で、カウント が 0 より大きい場合、このメソッドは範囲の末尾にあるカーソルまで範囲を折りたたみ、結果の挿入ポイントを 単位 境界に進み (まだ 1 つでない場合)、カウント – 1 単位前方に移動しようとします。 範囲が非生成で、
このメソッドは、実際に移動
Count は、Ctrl キーを押しながら右方向キーを押した回数に対応します。
たとえば、次の図の両方に示されている選択範囲に Ctrl キーを押しながら右方向キーを押すと、文字位置 8 にカーソルが移動します。これは、このコマンドは選択範囲の末尾 (それぞれ 7 と 8) を折りたたみ、次の Word 境界に移動するためです。
最初の選択範囲には文字位置 7 の空白文字が含まれていないため、Ctrl キーを押しながら右方向キーを押すと、文字位置 8 の **Word** 境界に移動します。 範囲の終了位置は既に 2 番目の選択範囲の **Word** 境界にあります。そのため、Ctrl + 右方向キーを押すと、その境界の選択範囲が折りたたまれます。 同様に、Ctrl キーを押しながら左方向キーを押すと、このテキストは "Move(Word, -1)" のように動作します。 ただし、Ctrl キーを押しながら左方向キーを押すと、2 番目の選択範囲が文字位置 4 で折りたたまれて 0 に移動します。これは、移動方向の次の **Word** 境界であるためです。戻り値の引数は、カーソルが移動
前述のいずれの場合も、Move(Word, 1)
を呼び出すと、範囲が折りたたまれたため、結果は 1 に設定されます。 同様に、Move(Word, -1)
を呼び出すと、両方のケースで結果が – 1 に設定されます。
モーションの方向は、プレーンテキスト バッキング ストア内の論理的な文字順序を指します。 このアプローチにより、国際ソフトウェアでの左と右、上、下などの幾何学的順序の問題を回避できます。 もちろん、キーボードには幾何学的な動きを呼び出す方向キーがあるため、このような幾何学的な方法は編集エンジンでも必要です。
ITextSelection UI メソッドは、復帰/改行 (CR/LF) を単一の文字であるかのようにバックアップしますが、ITextRange.Move メソッドは復帰/改行 (CR/LF) を 2 文字としてカウントします。 1 つの文字を CR で表される段落区切り記号として使用することをお勧めしますが、Unicode 段落区切り文字 (0x2029) を使用できます。 一般に、リッチ エディット コントロールは復帰/改行 (CR/LF)、CR、LF、VT (垂直タブ)、FF (フォーム フィード)、および0x2029をサポートします。 Microsoft Rich Edit 2.0 では、下位互換性のために CR/CR/LF もサポートされています。
ITextRange.MoveStart