ITextRange::MoveUntil メソッド (tom.h)
Cset で指定された文字セットの最初の文字を Count 文字まで検索します。 文字が見つかった場合、範囲はその時点まで折りたたまれます。 検索の開始と方向も Count で指定されます。
構文
HRESULT MoveUntil(
VARIANT *Cset,
long Count,
long *pDelta
);
パラメーター
Cset
型: VARIANT*
一致で使用される文字セット。 これは、文字の明示的な文字列または文字セット インデックスである可能性があります。 詳細については、「 文字一致セット」を参照してください。
Count
型: long
過去に移動する最大文字数。 既定値は tomForward で、ストーリーの末尾まで検索されます。 Count が 0 未満の場合、検索は開始位置から逆方向に開始されます。 Count が 0 より大きい場合、検索は末尾から順方向になります。
pDelta
型: long*
Count が 0 より大きい場合は挿入ポイントの移動文字数に 1 を、 Count が 0 より小 さい場合は -1 を加算します。 ポインターは null にすることができます。
戻り値
型: HRESULT
メソッドは HRESULT 値を返します。 メソッドが成功すると、 S_OKが返されます。 メソッドが失敗した場合は、次のいずれかのエラー コードが返されます。 COM エラー コードの詳細については、「COM でのエラー処理」を参照してください。
リターン コード | 説明 |
---|---|
|
Cset が無効です。 |
|
何らかの理由でエラーが発生しました。 |
注釈
一致する文字がない場合、範囲は変更されません。
ITextRange::MoveUntil によって記述されるモーションは、幾何学的ではなく論理的です。 つまり、モーションは、ストーリーの末尾または開始に向かって行います。 言語によっては、ストーリーの最後に移動すると、左に移動したり、右に移動したりする場合があります。
詳細については、ITextRange のディスカッションと ITextRange::Move の「解説」セクションを参照してください。
ITextRange::MoveStartUntil メソッドと ITextRange::MoveEndUntil メソッドは、Cset パラメーターで指定されたセット内にある最初の文字が見つかるまで、それぞれ start と end を移動します。
ITextRange::MoveUntil メソッドは ITextRange::MoveWhile に似ていますが、2 つの違いがあります。 最初に、MoveUntil は、Cset で指定された文字セットに属する最初の文字が見つかるまでカーソルを移動します。 次に、 MoveUntil では、一致した文字は pDelta で返される値の追加文字としてカウントされます。 これにより、カーソルが範囲の一方の端に留まる場合でも、範囲の一方の端にある文字またはもう一方の文字が Cset に属していることを確認できます。
たとえば、範囲 r が挿入ポイントであるとします。 r の文字 (つまり、r.GetChar()) が Cset 内にあるかどうかを確認するには、 を呼び出します。
r.MoveUntil(Cset, 1)
文字が Cset 内にある場合、戻り値は 1 で、挿入ポイントは移動しません。 同様に、r の前の文字が Cset にあるかどうかを確認するには、 を呼び出します。
r.MoveUntil(Cset, -1)
文字が Cset にある場合、戻り値は –1 です。
次の Microsoft Visual Basic for Applications (VBA) サブルーチンは、範囲 r で識別されるストーリー内のすべての数値を出力します。
Sub PrintNumbers (r As ITextRange)
r.SetRange 0, 0 // r = insertion point at start of story
While r.MoveUntil(C1_DIGIT) // Move r to 1st digit in next number
r.MoveEndWhile C1_DIGIT // Select number (span of digits)
Print r // Print it
Wend
End Sub
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | tom.h |
[DLL] | Msftedit.dll |
関連項目
概念
リファレンス