Partager via


Modèle de contrôle de sélection

Décrit les instructions et conventions pour l’implémentation d’ISelectionProvider, y compris des informations sur les propriétés, les méthodes et les événements. Le modèle de contrôle Sélection est utilisé pour prendre en charge les contrôles qui font office de conteneurs pour une collection d’éléments enfants sélectionnables. Les enfants de cet élément doivent implémenter ISelectionItemProvider.

Pour obtenir des exemples de contrôles qui implémentent ce modèle de contrôle, consultez Types de contrôles et leurs modèles de contrôle pris en charge.

Cette rubrique contient les sections suivantes.

Conventions et directives d'implémentation

Lors de l’implémentation du modèle de contrôle Sélection , notez les directives et conventions suivantes :

  • Les contrôles qui implémentent ISelectionProvider permettent de sélectionner un ou plusieurs éléments enfants. Par exemple, les zones de liste, les affichages de liste et les arborescences prennent en charge plusieurs sélections, tandis que les zones de liste déroulante, les curseurs et les groupes de cases d’option prennent en charge la sélection unique.

  • Les contrôles qui ont une plage minimale, maximale et continue, comme le contrôle curseur volume d’un lecteur multimédia, doivent implémenter IRangeValueProvider au lieu d’ISelectionProvider.

  • Les contrôles à sélection unique qui gèrent les contrôles enfants qui implémentent IRawElementProviderFragmentRoot, tels que le curseur Résolution d’écran dans la boîte de dialogue Propriétés d’affichage pour Windows, ou le contrôle de sélection sélecteur de couleurs de Microsoft Word (voir l’image suivante), doivent implémenter ISelectionProvider ; leurs enfants doivent implémenter IRawElementProviderFragment et ISelectionItemProvider.

    image montrant un exemple de mappage de chaînes de nuances de couleur

  • Les menus ne prennent pas en charge le modèle de contrôle Sélection . Si vous utilisez des éléments de menu qui incluent à la fois des graphiques et du texte (tels que les éléments du volet Aperçu dans le menu Affichage de Microsoft Outlook) et que vous devez transmettre l’état, vous devez implémenter IToggleProvider.

Membres requis pour ISelectionProvider

Les propriétés, méthodes et événements suivants sont nécessaires pour implémenter l’interface ISelectionProvider .

Membres nécessaires Type de membre Notes
CanSelectMultiple Propriété Aucun
IsSelectionRequiredred Propriété Aucun
GetSelection Méthode Aucun
UIA_Selection_InvalidatedEventId Événement Déclenchez cet événement lorsqu’une sélection dans un conteneur a considérablement changé.

 

Les propriétés ISelectionProvider::IsSelectionRequired et CanSelectMultiple peuvent être dynamiques. Par exemple, l’état initial d’un contrôle peut ne pas avoir d’éléments sélectionnés par défaut, ce qui indique que IsSelectionRequired est false. Toutefois, une fois qu’un élément a été sélectionné, le contrôle doit toujours avoir au moins un élément sélectionné. De la même façon, dans quelques cas rares, un contrôle peut autoriser la sélection de plusieurs éléments lors de l’initialisation, mais n’autoriser par la suite que des sélections uniques.

Types de contrôles et leurs modèles de contrôle pris en charge

Modèle de contrôle SelectionItem

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

Vue d’ensemble de l’arborescence UI Automation