Tipo de control ScrollBar

En este tema se proporciona información sobre la compatibilidad de Microsoft Automatización de la interfaz de usuario con el tipo de control ScrollBar.

Los controles de la barra de desplazamiento permiten a un usuario desplazarse por el contenido dentro de una ventana o contenedor de elementos. El control consta de un conjunto de botones y un control pulgar.

En las secciones siguientes se definen la estructura de árbol Automatización de la interfaz de usuario necesaria, las propiedades, los patrones de control y los eventos para el tipo de control ScrollBar. Los requisitos de Automatización de la interfaz de usuario se aplican a todos los controles de barra de desplazamiento en los que el marco o la plataforma de la interfaz de usuario se integra Automatización de la interfaz de usuario compatibilidad con los tipos de control y los patrones de control.

En este tema se incluyen las siguientes secciones.

Estructura de árbol típica

En la tabla siguiente se muestra un control típico y una vista de contenido del árbol de Automatización de la interfaz de usuario que pertenece a los controles de barra de desplazamiento y se describe lo que se puede contener en cada vista. Para más información sobre el árbol de UI Automation, vea Información general del árbol de UI Automation.

Vista de control Vista de contenido
  • ScrollBar
    • Botón (0, 2 o 4)
    • Pulgar (0 o 1)
No es aplicable. (El control de barra de desplazamiento no tiene contenido).

 

El control de barra de desplazamiento puede tener cero a cinco elementos secundarios. Dado que el subárbol tiene más de un control de botón, el elemento debe establecer un valor de UIA_AutomationIdPropertyId específico en cada elemento para que sean reconocibles para las herramientas de pruebas automatizadas.

Propiedades pertinentes

La siguiente tabla enumera las propiedades de UI Automation cuyo valor o definición es especialmente relevante para los controles de la barra de desplazamiento. Tenga en cuenta que un control de barra de desplazamiento nunca tiene contenido; su funcionalidad se expone a través del patrón de control Scroll , que se admite en el contenedor que se desplaza.

Para obtener más información sobre las propiedades de Automatización de la interfaz de usuario, vea Recuperar propiedades de Automatización de la interfaz de usuario Elements.

Propiedad de automatización de interfaz de usuario Valor Notas
UIA_AutomationIdPropertyId Vea las notas. El valor de esta propiedad debe ser único entre todos los elementos del mismo nivel en la vista sin procesar del árbol de Automatización de la interfaz de usuario.
UIA_BoundingRectanglePropertyId Vea las notas. El rectángulo exterior que contiene el control completo.
UIA_ClickablePointPropertyId NaN El control de barra de desplazamiento no tiene puntos interactivos.
UIA_ControlTypePropertyId ScrollBar Este valor es el mismo para todos los marcos de trabajo. Las barras de desplazamiento que funcionan como controles deslizantes deben usar el tipo de control Slider .
UIA_IsContentElementPropertyId FALSE El control de barra de desplazamiento nunca es un elemento de contenido. Si la barra de desplazamiento es un control independiente, debe cumplir el tipo de control Slider y devolver UIA_SliderControlTypeId para la propiedad IUIAutomationElement::CurrentControlType (o CachedControlType).
UIA_IsControlElementPropertyId TRUE El control de barra de desplazamiento siempre se incluye en la vista de control del árbol de Automatización de la interfaz de usuario.
UIA_IsKeyboardFocusablePropertyId Vea las notas. Si el control puede recibir el foco del teclado, debe admitir esta propiedad. Un control de barra de desplazamiento rara vez toma el foco, pero cuando lo hace, el foco debe permanecer en el propio control de barra de desplazamiento, no en los botones secundarios ni en el pulgar. El usuario debe ser capaz de realizar todas las acciones de desplazamiento mediante las teclas FLECHA ARRIBA y FLECHA ABAJO (o FLECHA DERECHA y FLECHA IZQUIERDA), o las teclas PAGE UP y PAGE DOWN.
UIA_LabeledByPropertyId NULL Las barras de desplazamiento no tienen etiquetas.
UIA_LocalizedControlTypePropertyId Vea las notas. Cadena localizada correspondiente al tipo de control ScrollBar . El valor predeterminado es "barra de desplazamiento" para en-US o inglés (Estados Unidos).
UIA_NamePropertyId NULL El control de barra de desplazamiento no tiene elementos de contenido y no es necesario establecer la propiedad UIA_NamePropertyId .
UIA_OrientationPropertyId Vea las notas. El control de barra de desplazamiento siempre debe exponer su orientación horizontal o vertical.

 

Patrones de control necesarios

En la tabla siguiente se enumeran los patrones de control Automatización de la interfaz de usuario que deben admitir todos los controles de barra de desplazamiento. Para más información sobre los patrones de control, vea UI Automation Control Patterns Overview.

Nota

Cuando solo se usa una barra de desplazamiento como control para la manipulación del mouse, no admite patrones de control. Si se usa como control deslizante dentro de una aplicación, se le debe proporcionar el tipo de control Slider .

 

Patrón de control Soporte técnico Notas
IRangeValueProvider Depende El patrón de control RangeValue solo es compatible si no se admite el patrón de control Scroll en el contenedor que tiene la barra de desplazamiento.
IScrollProvider Nunca El patrón de control Scroll nunca se admite directamente en la barra de desplazamiento.

 

Eventos necesarios

En la tabla siguiente se enumeran los eventos Automatización de la interfaz de usuario que los controles de barra de desplazamiento son necesarios para admitir. Para más información sobre los eventos, vea UI Automation Events Overview.

Evento de Automatización de la interfaz de usuario Notas
UIA_AutomationFocusChangedEventId
UIA_BoundingRectanglePropertyId evento de cambio de propiedad.
UIA_IsEnabledPropertyId evento de cambio de propiedad. Si el control admite la propiedad IsEnabled , debe admitir este evento.
UIA_IsOffscreenPropertyId evento de cambio de propiedad. Si el control admite la propiedad IsOffscreen , debe admitir este evento.
UIA_StructureChangedEventId
UIA_RangeValueValuePropertyId evento de cambio de propiedad. Si el control admite el patrón de control RangeValue , debe admitir este evento.

 

Conceptual

Información general sobre tipos de control de UI Automation

Información general sobre UI Automation