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

指定したテキスト単位でテキスト範囲を正規化します。 指定した単位より小さい場合は範囲が拡張され、指定した単位より長い場合は短縮されます。

構文

HRESULT ExpandToEnclosingUnit(
  [in] TextUnit unit
);

パラメーター

[in] unit

型: TextUnit

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

戻り値

型: HRESULT

このメソッドは、成功すると S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。

解説

スクリーン リーダーなどのクライアント アプリケーションでは、このメソッドを使用して、カーソル位置またはキャレット位置に存在する完全な単語、文、または段落を取得します。

その名前にもかかわらず、 ITextRangeProvider::ExpandToEnclosingUnit メソッドは必ずしもテキスト範囲を展開するとは限りません。 代わりに、エンドポイントを移動してテキスト範囲を "正規化" し、指定したテキスト単位が範囲に含まれるようにします。 指定した単位より小さい場合は範囲が拡張され、指定した単位より長い場合は短縮されます。 指定した単位の正確な数量が既に範囲である場合は、変更されません。 ExpandToEnclosingUnit メソッドは常に一貫した方法でテキスト範囲を正規化することが重要です。それ以外の場合、テキスト単位によるテキスト範囲操作の他の側面は予測できません。 次の図は、 ExpandToEnclosingUnit が 範囲のエンドポイントを移動してテキスト範囲を正規化する方法を示しています。

ExpandToEnclosingUnit ExpandToEnclosingUnit の呼び出しの前後のエンドポイント位置を示す図。指定されたテキスト単位がコントロールでサポートされていない場合、既定でサポートされる次に大きいテキスト単位になります。 最小単位から最大までの順序は次のとおりです。
  • 文字
  • Format
  • Word
  • Paragraph
  • ページ
  • Document
ExpandToEnclosingUnit は、表示されるテキストと非表示のテキストの両方を考慮します。

unit が の場合の範囲の動作TextUnit::Format

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

要件

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

関連項目

概念

ITextProvider

ITextRangeProvider

リファレンス

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

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