Patrón de control de selección

Describe instrucciones y convenciones para implementar ISelectionProvider, incluida información sobre propiedades, métodos y eventos. El patrón de control Selection se usa para admitir controles que actúan como contenedores para una colección de elementos secundarios seleccionables. Los elementos secundarios de este elemento deben implementar ISelectionItemProvider.

Para obtener ejemplos de controles que implementan este patrón de control, vea Tipos de control y Sus patrones de control admitidos.

En este tema se incluyen las siguientes secciones.

Directrices y convenciones de implementación

Al implementar el patrón de control Selection , tenga en cuenta las siguientes directrices y convenciones:

  • Los controles que implementan ISelectionProvider permiten seleccionar uno o varios elementos secundarios. Por ejemplo, los cuadros de lista, las vistas de lista y las vistas de árbol admiten varias selecciones, mientras que los cuadros combinados, los controles deslizantes y los grupos de botones de radio admiten una selección única.

  • Los controles que tienen un intervalo mínimo, máximo y continuo, como el control deslizante Volumen de un reproductor multimedia, deben implementar IRangeValueProvider en lugar de ISelectionProvider.

  • Controles de selección única que administran controles secundarios que implementan IRawElementProviderFragmentRoot, como el control deslizante Resolución de pantalla en el cuadro de diálogo Propiedades de visualización para Windows, o el control de selección Selector de colores de Microsoft Word (vea la imagen siguiente), deben implementar ISelectionProvider; sus elementos secundarios deben implementar IRawElementProviderFragment e ISelectionItemProvider.

    imagen que muestra un ejemplo de asignación de cadenas de muestra de color

  • Los menús no admiten el patrón de control Selección . Si trabaja con elementos de menú que incluyen gráficos y texto (como los elementos del panel de vista previa en el menú Ver de Microsoft Outlook) y necesita transmitir el estado, debe implementar IToggleProvider.

Miembros necesarios para ISelectionProvider

Se requieren las siguientes propiedades, métodos y eventos para implementar la interfaz ISelectionProvider .

Miembros requeridos Tipo de miembro Notas
CanSelectMultiple Propiedad None
IsSelectionRequired Propiedad None
GetSelection Método None
UIA_Selection_InvalidatedEventId Evento Genere este evento cuando una selección en un contenedor haya cambiado significativamente.

 

Las propiedades ISelectionProvider::IsSelectionRequired y CanSelectMultiple pueden ser dinámicas. Por ejemplo, el estado inicial de un control podría no tener ningún elemento seleccionado de forma predeterminada, lo que indica que IsSelectionRequired es false. Sin embargo, cuando se haya seleccionado un elemento, el control siempre debe tener al menos un elemento seleccionado. Del mismo modo, en raras ocasiones, un control podría permitir la selección de varios elementos en la inicialización pero solo permitir posteriormente la realización de selecciones únicas.

Tipos de control y sus patrones de control admitidos

Patrón de control SelectionItem

Información general acerca de los patrones de control de UI Automation

Información general sobre el árbol de la UI Automation