ITextSelection::MoveLeft メソッド (tom.h)
左方向キーの機能を一般化します。
構文
HRESULT MoveLeft(
long Unit,
long Count,
long Extend,
long *pDelta
);
パラメーター
Unit
型: long
使用する単位。 次のいずれかになります。
値 | 対応するキーの組み合わせ | 説明 |
---|---|---|
tomCharacter | ← | 1 文字の位置を左に移動します。 既定値です。 |
tomWord | Ctrl + ← | 1 つの単語を左に移動します。 |
注: Count が 0 未満の場合、移動は右に移動します。
Count
型: long
過去に移動する単位数。 既定値は 1 です。 Count が 0 未満の場合、移動は右に移動します。
Extend
型: long
選択範囲を変更する方法を示すフラグ。 Extend が 0 (または tomMove) の場合、メソッドは選択範囲をアクティブな終点の挿入ポイントに折りたたみ、移動します。 Extend が 1 (または tomExtend) の場合、メソッドはアクティブな端を移動し、もう一方の端だけを残します。 既定値はゼロです。 0 以外の Extend 値は、「 単位」で説明されているキーの組み合わせに加えて、押される Shift キーに対応します。
pDelta
型: long*
挿入ポイントまたはアクティブな端が左に移動する単位の実際の数。 このパラメーターには、null を指定できます。 選択範囲を折りたたむと、 Extend が 0 の場合、1 つの単位としてカウントされます。
戻り値
型: HRESULT
メソッドは HRESULT 値を返します。 メソッドが成功すると、 S_OKが返されます。 メソッドが失敗した場合は、次のいずれかのエラー コードが返されます。 COM エラー コードの詳細については、「COM でのエラー処理」を参照してください。
リターン コード | 説明 |
---|---|
|
単位が無効です。 |
|
何らかの理由でエラーが発生しました。 |
解説
CharRight、CharLeft、WordRight、WordLeft などの WordBasic 移動メソッドは、標準の方向キー編集動作に密接に関連する 4 つの操作を実行できるハイブリッドです。
- 選択されていない場合は、現在のカーソル位置を移動します。
- 選択範囲がある場合は、選択範囲のアクティブな終了位置を移動します。
- カーソルを選択範囲に変換し、その逆を行います。
- 移動が発生したかどうかを示すブール値を返します。
ITextSelection | Wordbasic | 機能 |
---|---|---|
選択。MoveRight tomWord、1、1 | WordRight 1,1 | アクティブな末尾を 1 単語右に移動します。 |
選択。MoveLeft tomCharacter、1、1 | CharLeft 1,1 | アクティブな末尾を 1 文字左に移動します。 |
WordBasic と同様に、 Count が 0 未満の場合、左右の意味が入れ替えられます。つまり、 は MoveLeft (Unit, Count, Extend)
と MoveRight (Unit, -Count, Extend)
同じです。
WordBasic と左方向キー UI の動作と同様に、退化した選択範囲で を呼び出すと MoveLeft (
Unit, Count)
、指定した 単位数だけカーソルが移動します。 縮退範囲では、 が 0 より大きいをCount
呼び出すとMoveLeft(
Unit, Count, 1)
、範囲は非縮退になり、左端がアクティブな端になります。
Extend が tomExtend (または 0 以外) の場合、MoveLeft は選択範囲のアクティブな終了のみを移動し、もう一方の端はそのままにします。 ただし、Extend が 0 に等しく、選択範囲が非生成範囲として開始される場合、 が Count
0 より大きい場合は、MoveLeft(Unit, Count)
アクティブな終了Count
が 1 単位左に移動し、もう一方の端がアクティブな端に移動します。 つまり、アクティブな端に挿入ポイントを作成します。 範囲を折りたたむには、1 つの単位としてカウントされます。 したがって、 は、 MoveLeft(tomCharacter)
非生成の選択範囲を、選択範囲の左端にある退化された選択範囲に変換します。 ここで、 Count の既定値は 1 で、 Extend の既定値は 0 です。 次の使用例は、左方向キーの押下に対応しています。
MoveLeft と MoveRight は ITextRange 移動メソッドに関連していますが、アクティブな終了 (Shift キーを押して移動した端) を明示的に使用する点は異なります。
要件
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | tom.h |
[DLL] | Msftedit.dll |
関連項目
概念
リファレンス