Share via


Patrón de control de desplazamiento

Describe instrucciones y convenciones para implementar IScrollProvider, incluida información sobre las propiedades y los métodos. El patrón de control Scroll se usa para admitir un control que actúa como contenedor desplazable para una colección de objetos secundarios.

El control no es necesario para usar barras de desplazamiento para admitir la funcionalidad de desplazamiento, aunque normalmente sí. En la imagen siguiente se muestra un control de desplazamiento que no usa barras de desplazamiento. Para obtener ejemplos de controles que implementan este patrón de control, vea Tipos de control y sus patrones de control admitidos.

captura de pantalla que muestra un control de desplazamiento sin barras de desplazamiento

En este tema se incluyen las siguientes secciones.

Directrices y convenciones de implementación

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

  • Los elementos secundarios de este control deben implementar IScrollItemProvider.
  • Las barras de desplazamiento de un control de contenedor no admiten el patrón de control Scroll . En su lugar, deben admitir el patrón de control RangeValue .
  • Cuando el desplazamiento se mide en porcentajes, todos los valores o cantidades relacionadas con la graduación del desplazamiento deben normalizarse a un intervalo de 0 a 100.
  • La propiedad IScrollProvider::HorizontallyScrollable y la propiedad VerticallyScrollable son independientes de la propiedad IsEnabled .
  • Si la propiedad IScrollProvider::HorizontallyScrollable es FALSE, la propiedad HorizontalViewSize debe establecerse en 100 (100%) y la propiedad HorizontalScrollPercent debe establecerse en UIA_ScrollPatternNoScroll (-1). Del mismo modo, si la propiedad VerticallyScrollable es FALSE, la propiedad VerticalViewSize debe establecerse en 100 (100%) y la propiedad VerticalScrollPercent debe establecerse en UIA_ScrollPatternNoScroll (-1). Esto permite que un cliente de Microsoft Automatización de la interfaz de usuario use estos valores de propiedad dentro del método SetScrollPercent, a la vez que evita una condición de carrera si una dirección que el cliente no está interesada en desplazarse se activa.
  • La propiedad IScrollProvider::HorizontalScrollPercent es específica de la configuración regional. Establecer HorizontalScrollPercent en 100 debe establecer la ubicación de desplazamiento del control en el equivalente de su posición más a la derecha para idiomas como inglés que leen de izquierda a derecha. Como alternativa, para idiomas como árabe que leen de derecha a izquierda, establecer HorizontalScrollPercent en 100 debe establecer la ubicación de desplazamiento en la posición situada más a la izquierda.

Miembros necesarios para IScrollProvider

Se requieren las siguientes propiedades y métodos para implementar la interfaz IScrollProvider .

Miembros requeridos Tipo de miembro Notas
HorizontalScrollPercent Propiedad None
VerticalScrollPercent Propiedad None
HorizontalViewSize Propiedad None
VerticalViewSize Propiedad None
HorizontalmenteScrollable Propiedad None
VerticallyScrollable Propiedad None
Pergamino Método None
SetScrollPercent Método None

 

Este patrón de control no tiene eventos asociados.

Tipos de control y sus patrones de control admitidos

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

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