Información general acerca de los patrones de control de UI Automation
Un patrón de control es una implementación de interfaz que expone un aspecto determinado de la funcionalidad de un control a las aplicaciones cliente de Microsoft Automatización de la interfaz de usuario. Los clientes usan las propiedades y los métodos expuestos a través de un patrón de control para recuperar información sobre una funcionalidad determinada del control o para manipular un aspecto determinado del comportamiento del control. Por ejemplo, un control que presenta una interfaz tabular usa el patrón de control Grid para exponer el número de filas y columnas de la tabla y para permitir que un cliente recupere elementos de la tabla.
La automatización de la interfaz de usuario utiliza patrones de control para representar comportamientos de control comunes. Por ejemplo, se usa el patrón de control Invoke para los controles que se pueden invocar, como botones, y el patrón de control Scroll para los controles que tienen barras de desplazamiento, como cuadros de lista, vistas de lista o cuadros combinados. Dado que cada patrón de control representa una funcionalidad independiente, los patrones de control se pueden combinar para describir el conjunto completo de funcionalidades admitidas por un control determinado.
Nota
Un control agregado se compila con controles secundarios que proporcionan la interfaz de usuario para la funcionalidad expuesta por el elemento primario y el elemento primario debe implementar todos los patrones de control que normalmente están asociados a sus controles secundarios. En cambio, no es necesario que los controles secundarios implementen esos mismos patrones de control.
Este tema contiene las siguientes secciones:
- Componentes de los patrones de control de Automatización de la interfaz de usuario
- Patrones de control en proveedores y clientes
- Patrones de control dinámicos
- Patrones de control e interfaces relacionadas
- Temas relacionados
Componentes de los patrones de control de Automatización de la interfaz de usuario
Los patrones de control admiten métodos, propiedades, eventos y relaciones necesarios para definir una parte discreta de la funcionalidad disponible en un control.
- Los métodos permiten que los clientes de Automatización de la interfaz de usuario manipulen el control.
- Las propiedades y eventos proporcionan información sobre la funcionalidad y el estado del control.
- La relación entre un elemento Automatización de la interfaz de usuario y sus elementos primarios, secundarios y del mismo nivel describe la estructura de elementos en el árbol de Automatización de la interfaz de usuario.
Los patrones de control se relacionan con controles similares a la forma en que las interfaces se relacionan con los objetos Component Object Model (COM). En COM, puede consultar un objeto para preguntar qué interfaces admite y, a continuación, usar esas interfaces para acceder a la funcionalidad. En Automatización de la interfaz de usuario, los clientes pueden preguntar a un control qué patrones de control admite y, a continuación, interactuar con el control a través de las propiedades, métodos, eventos y estructuras expuestos por los patrones de control admitidos.
Patrones de control en proveedores y clientes
Automatización de la interfaz de usuario proveedores implementan interfaces de patrón de control para exponer el comportamiento adecuado para una parte específica de la funcionalidad admitida por el control. Estas interfaces no se exponen directamente a los clientes, pero la Automatización de la interfaz de usuario núcleo usa para implementar otro conjunto de interfaces de cliente. Por ejemplo, un proveedor expone la funcionalidad de desplazamiento para Automatización de la interfaz de usuario a través de IScrollProvider y Automatización de la interfaz de usuario expone la funcionalidad a los clientes a través de IUIAutomationScrollPattern.
Patrones de control dinámicos
Algunos controles no siempre admiten el mismo conjunto de patrones de control. Por ejemplo, un control de edición de varias líneas solo permite el desplazamiento vertical cuando contiene más líneas de texto de las que se pueden mostrar en su área visible. El desplazamiento se deshabilita cuando se elimina el texto suficiente para que ya no sea necesario desplazarse. En este ejemplo, IUIAutomationScrollPattern se admite dinámicamente, en función de la cantidad de texto en el cuadro de edición.
Patrones de control e interfaces relacionadas
En la siguiente tabla se describen los patrones de control de la automatización de la interfaz de usuario. En la tabla también se enumeran las interfaces de proveedor usadas para implementar los patrones de control y las interfaces de cliente usadas para acceder a ellas.
Nombre | Interfaz del proveedor | Interfaz del cliente | Descripción |
---|---|---|---|
Anotación | IAnnotationProvider | IUIAutomationAnnotationPattern | Se usa para exponer las propiedades de una anotación en un documento, por ejemplo, comentarios en el margen que están conectados al texto del documento. |
Acoplar | IDockProvider | IUIAutomationDockPattern | Se usa para los controles que se pueden acoplar en un contenedor de acoplamiento, por ejemplo, barras de herramientas o paletas de herramientas. |
Arrastre | IDragProvider | IUIAutomationDragPattern | Se usa para admitir controles arrastrables o controles con elementos arrastrables. |
DropTarget | IDropTargetProvider | IUIAutomationDropTargetPattern | Se usa para admitir controles que pueden ser el destino para una operación de arrastrar y colocar. |
ExpandCollapse | IExpandCollapseProvider | IUIAutomationExpandCollapsePattern | Se usa para los controles que se pueden expandir o contraer, por ejemplo, elementos de menú de una aplicación, como el menú Archivo. |
Grid | IGridProvider | IUIAutomationGridPattern | Se usa para los controles que admiten la funcionalidad de cuadrícula, como el ajuste de tamaño y el traslado a una celda especificada, por ejemplo, la vista de icono grande en el Explorador de Windows o tablas simples de Microsoft Office Word. |
GridItem | IGridItemProvider | IUIAutomationGridItemPattern | Se usa para los controles que tienen celdas en cuadrículas. Las celdas individuales deben admitir el patrón GridItem, por ejemplo, cada celda en la vista de detalles del Explorador de Windows. |
Invocar | IInvokeProvider | IUIAutomationInvokePattern | Se usa para controles que se pueden invocar, como botones. |
ItemContainer | IItemContainerProvider | IUIAutomationItemContainerPattern | Se usa para los controles que pueden contener otros elementos. |
LegacyIAccessible | ILegacyIAccessibleProvider | IUIAutomationLegacyIAccessiblePattern | Se usa para exponer las propiedades y los métodos de accesibilidad activa de Microsoft para Automatización de la interfaz de usuario clientes. |
MultipleView | IMultipleViewProvider | IUIAutomationMultipleViewPattern | Se usa para los controles que pueden cambiar entre varias representaciones del mismo conjunto de información, datos o elementos secundarios, por ejemplo, un control de vista de lista en el que los datos están disponibles en miniatura, icono, icono, lista o vistas de detalles. |
ObjectModel | IObjectModelProvider | IUIAutomationObjectModelPattern | Se usa para exponer un puntero al modelo de objetos subyacente de un documento. Este patrón de control permite a un cliente navegar desde un elemento Automatización de la interfaz de usuario al modelo de objetos subyacente. |
RangeValue | IRangeValueProvider | IUIAutomationRangeValuePattern | Se usa para los controles que tienen un intervalo de valores. Por ejemplo, un control de número que muestra años podría tener un intervalo de 1900-2010, mientras que un control de número que muestra meses tendría un intervalo de 1 a 12. |
Desplazar | IScrollProvider | IUIAutomationScrollPattern | Se usa para los controles que pueden desplazarse cuando hay más información de la que se puede mostrar en el área visible del control. |
ScrollItem | IScrollItemProvider | IUIAutomationScrollItemPattern | Se usa para controles que tienen elementos individuales en una lista que se desplaza, por ejemplo, un control de lista en un control de cuadro combinado. |
Selección | ISelectionProvider | IUIAutomationSelectionPattern | Se usa para controles de contenedor de selección, por ejemplo, cuadros de lista y cuadros combinados. |
SelectionItem | ISelectionItemProvider | IUIAutomationSelectionItemPattern | Se utiliza con los elementos individuales de controles de contenedor de selección, como cuadros de lista y cuadros combinados. |
Hoja de cálculo | ISpreadsheetProvider | IUIAutomationSpreadsheetPattern | Se usa para exponer el contenido de una hoja de cálculo u otro documento basado en cuadrícula. Los controles que implementan el patrón de control Spreadsheet también deben implementar el patrón de control Grid. |
SpreadsheetItem | ISpreadsheetItemProvider | IUIAutomationSpreadsheetItemPattern | Se usa para exponer las propiedades de una celda de una hoja de cálculo u otro documento basado en cuadrícula. Los controles que implementan el patrón de control SpreadsheetItem también deben implementar el patrón de control GridItem. |
Estilos | IStylesProvider | IUIAutomationStylesPattern | Se usa para describir un elemento de interfaz de usuario que tiene un estilo, color de relleno, patrón de relleno o forma específicos. |
SynchronizedInput | ISynchronizedInputProvider | IUIAutomationSynchronizedInputPattern | Se usa para los controles que aceptan la entrada de teclado o mouse. |
Tabla | ITableProvider | IUIAutomationTablePattern | Se usa para los controles que tienen información de cuadrícula y encabezado. |
TableItem | ITableItemProvider | IUIAutomationTableItemPattern | Se utiliza con los elementos de una tabla. |
Texto | ITextProvider | IUIAutomationTextPattern | Se utiliza con los controles de edición y documentos que exponen información textual. |
TextEdit | ITextEditProvider | IUIAutomationTextEditPattern | Se usa para editar controles que modifican texto mediante programación, por ejemplo, un control que realiza la corrección automática o habilita la composición de entrada. |
TextChild | ITextChildProvider | IUIAutomationTextChildPattern | Se usa para acceder al antecesor más próximo de un elemento que admite el patrón de control Text. |
TextRange | ITextRangeProvider | IUIAutomationTextRange | Se usa para recuperar contenido textual, atributos de texto y objetos incrustados de controles basados en texto, como controles de edición y documentos. |
Alternancia | IToggleProvider | IUIAutomationTogglePattern | Se usa para los controles en los que el estado se puede alternar, por ejemplo, casillas y elementos de menú activables. |
Transformación | ITransformProvider | IUIAutomationTransformPattern | Se utiliza con los controles que se pueden cambiar de tamaño, mover y girar. Los usos típicos del patrón de control Transform se encuentran en diseñadores, formularios, editores gráficos y aplicaciones de dibujo. |
Valor | IValueProvider | IUIAutomationValuePattern | Se usa para los controles que tienen un valor que no se encuentra dentro de un intervalo especificado, por ejemplo, un selector de fecha y hora. |
VirtualizedItem | IVirtualizedItemProvider | IUIAutomationVirtualizedItemPattern | Se usa para los controles que funcionan con elementos de una lista virtual. |
Ventana | IWindowProvider | IUIAutomationWindowPattern | Se usa para ventanas. Algunos ejemplos son ventanas de aplicación de nivel superior, ventanas secundarias de interfaz de varios documentos (MDI) y cuadros de diálogo. |
Temas relacionados
-
Conceptual
-
Implementación de patrones de control Automatización de la interfaz de usuario
-
Asignación de patrones de controles para clientes de UI Automation