UI オートメーション テキスト オブジェクト モデルについて

このトピックでは、Microsoft UI オートメーション クライアント アプリケーションがテキスト ベースのコントロールのテキスト コンテンツにアクセスする方法について説明します。

テキスト ベースのコントロールは、単純なテキスト オブジェクト モデルを使用してUI オートメーションクライアント アプリケーションにテキスト コンテンツを公開します。 クライアント アプリケーションは、 Text および TextRange コントロール パターン インターフェイス ( IUIAutomationTextPattern、IUIAutomationTextRange など) を介してテキスト オブジェクト モデル にアクセスできます。 クライアント アプリケーションでは、これらのインターフェイスを使用して、テキスト ベースのコントロールからテキスト コンテンツ、テキスト属性、表やハイパーリンクなどの埋め込みオブジェクトを取得できます。

UI オートメーション テキスト オブジェクト モデルをサポートするコントロール型には、Edit コントロールと Document コントロールの種類が含まれます。 ツールヒントText などの他のコントロール型でもテキスト オブジェクト モデルがサポートされる場合がありますが、サポートする必要はありません。

注意

UI オートメーション テキスト オブジェクト モデルでは、テキストを挿入または変更する手段は提供されません。 ただし、一部のコントロールでは、 IUIAutomationValuePattern インターフェイスまたは直接キーボード入力を使用してテキストを挿入または変更できます。

 

コントロール固有のオブジェクト モデル

独自のドキュメント オブジェクト モデル (DOM) を実装するテキスト ベースのコントロールは、 ObjectModel コントロール パターンを実装することで DOM を公開できます。 DOM を公開すると、クライアント アプリケーションはテキスト ベースのコントロールのコンテンツに対するアクセスと制御を強化できます。

クライアント アプリケーションは、コントロールの IUIAutomationElement インターフェイスを取得することで、特定のテキスト ベースのコントロールが DOM を実装しているかどうかを検出できます。 次に、 IUIAutomationElement::GetCurrentPropertyValue メソッドを呼び出し、 UIA_IsObjectModelPatternAvailablePropertyId プロパティ識別子と、コントロールが DOM を実装する場合に TRUE を受け取るバリアントを指定します。

DOM にアクセスするには、 IUIAutomationElement::GetCurrentPattern メソッドを呼び出し、 UIA_ObjectModelPatternId コントロール パターン識別子と IUIAutomationObjectModelPattern インターフェイスを受け取る変数を指定します。 DOM インターフェイスを取得するには、 IUIAutomationObjectModelPattern::GetUnderlyingObjectModel メソッドを呼び出します。

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

テキスト コンテンツのUI オートメーションサポート

テキスト ベースのコントロールの操作