Vue d'ensemble des propriétés UI Automation

Les fournisseurs Microsoft UI Automation exposent des propriétés sur les éléments UI Automation. Les propriétés permettent aux applications clientes de récupérer des informations sur les contrôles.

UI Automation expose deux types de propriétés différents : propriétés d’élément Automation et propriétés de modèle de contrôle. Les propriétés d’élément Automation se composent d’un ensemble commun de propriétés, telles que Name, AcceleratorKey et ClassName, qui sont exposées par tous les éléments UI Automation, quel que soit le type de contrôle. La plupart des propriétés d’élément Automation sont des valeurs statiques.

Les propriétés du modèle de contrôle sont celles exposées par un contrôle qui prend en charge un modèle de contrôle particulier. Chaque modèle de contrôle a un ensemble correspondant de propriétés de modèle de contrôle que le contrôle doit exposer. Par exemple, un contrôle qui prend en charge le modèle de contrôle Grid expose les propriétés ColumnCount et RowCount. La plupart des propriétés de modèle de contrôle sont des valeurs dynamiques.

Cette rubrique contient les sections suivantes.

Identificateurs de propriété

Chaque propriété est identifiée par une valeur numérique PROPERTYID appelée identificateur de propriété (ID). Les fournisseurs et les clients utilisent les ID numériques dans les appels de méthode tels que IRawElementProviderAdviseEvents ::AdviseEventAdded et IUIAutomationElement ::GetCachedPropertyValue pour identifier les demandes de propriété. Pour obtenir une description détaillée de chaque identificateur de propriété UI Automation, y compris le type de données et la valeur par défaut de chaque propriété, consultez Identificateurs de propriété.

Valeurs de la propriété

Toutes les propriétés sont en lecture seule, bien que certaines puissent être modifiées à l’aide de méthodes qui agissent sur le contrôle, telles que IDockProvider ::SetDockPosition (fournisseur) ou IUIAutomationDockPattern ::SetDockPosition (client).

Pour plus d’informations sur la récupération des valeurs de propriété, consultez Récupération des propriétés à partir d’ui Automation Elements.

Propriétés et événements

Étroitement associé aux propriétés dans UI Automation est le concept d’événements modifiés par des propriétés. Pour les propriétés dynamiques, une application cliente a besoin d’un moyen de savoir qu’une valeur de propriété a changé, afin qu’elle puisse mettre à jour son cache d’informations ou réagir aux nouvelles informations d’une autre manière. Les clients peuvent s’inscrire pour écouter les événements modifiés par des propriétés sur n’importe quelle propriété.

Les fournisseurs déclenchent des événements quand l’interface utilisateur est modifiée. Par exemple, si une case à cocher est activée ou désactivée, un événement modifié par la propriété est déclenché par l’implémentation du fournisseur du modèle de contrôle Bascule . Les fournisseurs peuvent déclencher des événements de manière sélective, selon que les clients écoutent tous les événements ou seulement des événements spécifiques.

Toutes les modifications de propriété ne déclenchent pas nécessairement des événements. Cela dépend entièrement de l’implémentation du fournisseur UI Automation pour l’élément. Par exemple, les fournisseurs proxy standard pour les zones de liste ne déclenchent pas d’événement de modification de propriété lorsque la propriété Selection change. Dans ce cas, l’application doit écouter l’événement déclenché lorsque la sélection change (UIA_SelectionItem_ElementSelectedEventId).

Les clients écoutent les événements en les abonnant, comme décrit dans l’abonnement aux événements UI Automation. Pour les événements modifiés par propriété en particulier, les clients doivent implémenter IUIAutomationPropertyChangedEventHandler et passer l’interface à IUIAutomation ::AddPropertyChangedEventHandler ou IUIAutomation ::AddPropertyChangedEventHandlerNativeArray.

Référence

GetCurrentPropertyValue

GetCurrentPropertyValueEx

GetCachedPropertyValue

GetCachedPropertyValueEx

Conceptuel

Vue d'ensemble des modèles de contrôle UI Automation

Vue d'ensemble des types de contrôle UI Automation

Vue d'ensemble des événements UI Automation