UI オートメーション プロパティの概要

Microsoft UI オートメーション プロバイダーは、UI オートメーション要素のプロパティを公開します。 プロパティを使用すると、クライアント アプリケーションはコントロールに関する情報を取得できます。

UI オートメーションでは、automation 要素のプロパティ、、および control パターン プロパティという 2 種類のプロパティが公開。 オートメーション要素のプロパティは、コントロールの種類に関係なく、すべてのUI オートメーション要素によって公開される、Name、AcceleratorKey、ClassName などの共通のプロパティ セットで構成されます。 ほとんどのオートメーション要素のプロパティは静的な値です。

コントロール パターン プロパティは、特定のコントロール パターンをサポートするコントロールによって公開されるプロパティです。 各コントロール パターンには、コントロールが公開する必要があるコントロール パターン プロパティの対応するセットがあります。 たとえば、 Grid コントロール パターンをサポートするコントロールは、ColumnCount プロパティと RowCount プロパティを公開します。 ほとんどのコントロール パターン プロパティは動的な値です。

このトピックは、次のセクションで構成されています。

プロパティ識別子

すべてのプロパティは、プロパティ識別子 (ID) と呼ばれるPROPERTYID数値によって識別されます。 プロバイダーとクライアントは、 IRawElementProviderAdviseEvents::AdviseEventAddedIUIAutomationElement::GetCachedPropertyValue などのメソッド呼び出しで数値 ID を使用してプロパティ要求を識別します。 各プロパティのデータ型と既定値など、各UI オートメーションプロパティ識別子の詳細については、「プロパティ識別子を参照してください。

プロパティ値

すべてのプロパティは読み取り専用ですが、 IDockProvider::SetDockPosition (プロバイダー) や IUIAutomationDockPattern::SetDockPosition (クライアント) など、コントロールに対して動作するメソッドを使用して変更できます。

プロパティ値の取得の詳細については、「UI オートメーション要素からプロパティを取得するを参照してください。

プロパティおよびイベント

UI オートメーションのプロパティに密接に関連付けられているのは、プロパティ変更イベント概念です。 動的プロパティの場合、クライアント アプリケーションでは、プロパティ値が変更されたことを認識して、情報のキャッシュを更新したり、何らかの方法で新しい情報に対応したりできるようにする必要があります。 クライアントは、任意のプロパティでプロパティ変更イベントをリッスンするために登録できます。

UI で何らかの変更が発生すると、プロバイダーはイベントを生成します。 たとえば、チェック ボックスをオンまたはオフにすると、 Toggle コントロール パターンのプロバイダー実装によってプロパティ変更イベントが発生します。 プロバイダーは、クライアントがイベントをリッスンしているのか、特定のイベントをリッスンしているのかに応じて、イベントを選択的に生成できます。

すべてのプロパティ変更がイベントを生成するわけではありません。これは完全に、該当する要素の UI オートメーション プロバイダーの実装に依存します。 たとえば、リスト ボックスの標準プロキシ プロバイダーでは、Selection プロパティが変更されたときにプロパティ変更イベントは発生しません。 この場合、アプリケーションは、選択が変更されたときに発生したイベントをリッスンする必要があります (UIA_SelectionItem_ElementSelectedEventId)。

クライアントは、UI オートメーション イベントのサブスクライブに関する説明に従って、イベントをサブスクライブすることによってリッスンします。 特にプロパティ変更イベントの場合、クライアントは IUIAutomationPropertyChangedEventHandler を実装し、インターフェイスを IUIAutomation::AddPropertyChangedEventHandler または IUIAutomation::AddPropertyChangedEventHandlerNativeArray に渡す必要があります。

リファレンス

GetCurrentPropertyValue

GetCurrentPropertyValueEx

GetCachedPropertyValue

GetCachedPropertyValueEx

Conceptual

UI オートメーション コントロール パターンの概要

UI オートメーション コントロール型の概要

UI オートメーション イベントの概要