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

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

構文

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

パラメーター

unit

[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 では、非表示のテキストと表示されるテキストの両方を考慮する必要があります。

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

テキスト単位のサイズ (最小単位から最大値まで) は次のとおりです。

  • 文字
  • 形式
  • Word
  • 段落
  • Page
  • ドキュメント

単位が の場合の範囲の動作TextUnit::Format

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

要件

要件
サポートされている最小のクライアント Windows XP [デスクトップ アプリ | UWP アプリ]
サポートされている最小のサーバー Windows Server 2003 [デスクトップ アプリのみ | UWP アプリ]
対象プラットフォーム Windows
ヘッダー uiautomationcore.h (UIAutomation.h を含む)

関連項目

概念

ITextProvider

ITextRangeProvider

リファレンス

Text コントロール パターンと TextRange コントロール パターン

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