Share via


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 を、 Count0 より小 さい場合は -1 を加算します。 ポインターは null にすることができます。

戻り値

型: HRESULT

メソッドは HRESULT 値を返します。 メソッドが成功すると、 S_OKが返されます。 メソッドが失敗した場合は、次のいずれかのエラー コードが返されます。 COM エラー コードの詳細については、「COM でのエラー処理」を参照してください。

リターン コード 説明
E_INVALIDARG
Cset が無効です。
S_FALSE
何らかの理由でエラーが発生しました。

注釈

一致する文字がない場合、範囲は変更されません。

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

関連項目

概念

GetChar

ITextRange

移動

MoveEndUntil

MoveStartUntil

MoveWhile

リファレンス

Text オブジェクト モデル