ITextRangeProvider::Move メソッド (uiautomationcore.h)

テキスト範囲を、指定した数のテキスト単位で前後に移動します。

構文

HRESULT Move(
  [in]          TextUnit unit,
  [in]          int      count,
  [out, retval] int      *pRetVal
);

パラメーター

[in] unit

型: TextUnit

文字、単語、段落などのテキスト単位の種類。

[in] count

型: int

移動するテキスト単位の数。 正の値を指定すると、テキスト範囲が前方に移動します。

負の値を指定すると、テキスト範囲が後方に移動します。 ゼロは効果がありません。

[out, retval] pRetVal

型: int*

実際に移動されたテキスト単位の数。 これは、新しいテキスト範囲エンドポイントのいずれかが、ITextProvider::D ocumentRange メソッドによって取得されたエンドポイントより大きいか小さい場合に、要求された数より小さくすることができます。 ナビゲーションが逆方向に行われている場合、この値は負の値になる可能性があります。

戻り値

型: HRESULT

このメソッドが成功した場合は、S_OKを返します。 それ以外の場合は、HRESULT エラー コードが返されます。

備考

ITextRangeProvider::Move はテキスト範囲を移動してテキストの別の部分にまたがるようにする必要があります。テキストを変更することはできません。

非縮退 (空ではない) テキスト範囲の場合、ITextRangeProvider::Move 次の手順を実行して、テキスト範囲を正規化して移動する必要があります。

  1. テキスト範囲を、開始エンドポイントの縮退 (空) 範囲に折りたたみます。
  2. 必要に応じて、文書内の結果のテキスト範囲を、要求されたユニット境界の先頭に戻します。
  3. 要求されたテキスト単位の境界数だけ、文書内のテキスト範囲を前後に移動します。
  4. 要求された 1 つのテキスト ユニット境界で終了エンドポイントを前方に移動して、生成されていない状態からテキスト範囲を展開します。
上記のいずれかの手順が失敗した場合は、テキスト範囲を変更せずに残す必要があります。 テキスト範囲を、要求されたテキスト単位数まで移動できないが、テキスト単位の数が少ない場合は、テキスト範囲を小さいテキスト単位で移動し、pRetVal が正常に移動されたテキスト単位の数に設定する必要があります。

縮退したテキスト範囲の場合、ITextRangeProvider::Move は、テキストの挿入ポイントを指定した数のテキスト単位だけ移動する必要があります。

テキスト範囲を移動する場合、プロバイダーはテキスト内の埋め込みオブジェクトの境界を無視する必要があります。

ITextRangeProvider::move は、非表示のテキストと表示されるテキストの両方を考慮する必要があります。

テキスト ベースのコントロールが、ユニット パラメーターで指定されたテキスト単位をサポートしていない場合、プロバイダーは、サポートされている次の大きいテキスト単位に置き換える必要があります。

テキスト単位のサイズは、最小単位から最大の単位まで、次のようになります。

  • 文字
  • 形式
  • 言葉
  • 段落
  • ページ
  • 文書

単位 が されている場合 範囲の動作

単位として TextUnit::Format 値は、範囲内のテキストの共有テキスト属性 (書式) に基づいて範囲を展開または移動するために、テキスト範囲の境界を配置します。 ただし、テキストの書式設定単位を使用して、画像やハイパーリンクなどの埋め込みオブジェクトの境界を越えてテキスト範囲を移動または展開しないでください。 詳細については、「UI オートメーションテキストユニット または テキストおよび TextRange コントロール パターンを参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows XP [デスクトップ アプリ |UWP アプリ]
サポートされる最小サーバー Windows Server 2003 [デスクトップ アプリ |UWP アプリ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー uiautomationcore.h (UIAutomation.h を含む)

関連項目

概念

ITextProvider の

ITextRangeProvider の

リファレンス

Text および TextRange コントロール パターン

UI オートメーション プロバイダーの概要