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 つのテキスト ユニット境界で終了エンドポイントを前方に移動して、生成されていない状態からテキスト範囲を展開します。
縮退したテキスト範囲の場合、ITextRangeProvider::Move は、テキストの挿入ポイントを指定した数のテキスト単位だけ移動する必要があります。
テキスト範囲を移動する場合、プロバイダーはテキスト内の埋め込みオブジェクトの境界を無視する必要があります。
ITextRangeProvider::move は、非表示のテキストと表示されるテキストの両方を考慮する必要があります。
テキスト ベースのコントロールが、ユニット パラメーターで指定されたテキスト単位をサポートしていない場合、プロバイダーは、サポートされている次の大きいテキスト単位に置き換える必要があります。
テキスト単位のサイズは、最小単位から最大の単位まで、次のようになります。
- 文字
- 形式
- 言葉
- 線
- 段落
- ページ
- 文書
単位 が されている場合 範囲の動作
単位として TextUnit::Format
値は、範囲内のテキストの共有テキスト属性 (書式) に基づいて範囲を展開または移動するために、テキスト範囲の境界を配置します。 ただし、テキストの書式設定単位を使用して、画像やハイパーリンクなどの埋め込みオブジェクトの境界を越えてテキスト範囲を移動または展開しないでください。 詳細については、「UI オートメーションテキストユニット または テキストおよび TextRange コントロール パターンを参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows XP [デスクトップ アプリ |UWP アプリ] |
サポートされる最小サーバー | Windows Server 2003 [デスクトップ アプリ |UWP アプリ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | uiautomationcore.h (UIAutomation.h を含む) |
関連項目
概念
ITextProvider の
ITextRangeProvider の
リファレンス