Tipo de control TreeItem

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

El tipo de control TreeItem representa un nodo dentro de un contenedor de árbol. Cada nodo puede contener otros nodos, llamados nodos secundarios. Los nodos primarios o los nodos que contienen nodos secundarios se pueden mostrar expandidos o contraídos.

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 TreeItem. Los requisitos de Automatización de la interfaz de usuario se aplican a todos los controles de elementos de árbol 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 elementos de árbol 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
  • TreeItem
    • CheckBox (0 o 1)
    • Image (0 o 1)
    • Button (0 o 1)
    • TreeItem (0 o más)
  • TreeItem
    • TreeItem (0 o más)

 

Los controles de elemento del árbol pueden tener cero o más elementos secundarios de árbol en la vista de contenido del árbol de Automatización de la interfaz de usuario. Si el control de elemento de árbol tiene funcionalidad más allá de lo que se expone en los patrones de control que se enumeran a continuación, el control debe basarse en el tipo de control DataItem .

Los elementos de árbol contraídos no aparecen en la vista de control ni en la vista de contenido hasta que se expanden y se ven (o se pueden desplazar hacia la vista).

La vista de control puede contener detalles adicionales de un control, entre los que se incluyen una imagen asociada o un botón. Por ejemplo, un elemento de una vista Esquema podría contener una imagen, así como un botón para expandir o contraer el esquema. Estos objetos de detalle no aparecen en la vista de contenido porque la información ya está representada por el elemento de árbol primario.

Los elementos de árbol que se desplazan fuera de la pantalla aparecen en las vistas de control y contenido del árbol de Automatización de la interfaz de usuario y deben tener la propiedad IUIAutomationElement::CurrentIsOffscreen (o CachedIsOffscreen) establecida en TRUE.

Propiedades pertinentes

En la tabla siguiente se enumeran las propiedades Automatización de la interfaz de usuario cuyo valor o definición es especialmente relevante para el tipo de control TreeItem. 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 Vea las notas. Esta propiedad debe devolver una ubicación que haga que el elemento de árbol cambie el estado de selección o se centre.
UIA_ControlTypePropertyId TreeItem Este valor es el mismo para todos los marcos de trabajo de la interfaz de usuario.
UIA_IsContentElementPropertyId TRUE El control de elemento de árbol siempre se incluye en la vista de contenido del árbol de Automatización de la interfaz de usuario.
UIA_IsControlElementPropertyId TRUE El control de elemento de árbol 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.
UIA_IsOffscreenPropertyId Vea las notas. Esta propiedad indica si un control de elemento de árbol se desplaza fuera de la pantalla.
UIA_ItemStatusPropertyId Vea las notas. Si el control contiene el estado que se actualiza dinámicamente, esta propiedad debe admitirse para que una tecnología de asistencia pueda recibir actualizaciones cuando cambie el estado del elemento.
UIA_ItemTypePropertyId Vea las notas. Si el control de elemento de árbol usa un icono visual para indicar que es un tipo determinado de elemento, se debe admitir esta propiedad y debe indicar el tipo de elemento.
UIA_LabeledByPropertyId NULL Los controles de elemento de árbol se etiquetan automáticamente.
UIA_LocalizedControlTypePropertyId Vea las notas. Cadena localizada que corresponde al tipo de control TreeItem. El valor predeterminado es "tree item" para en-US o inglés (Estados Unidos).
UIA_NamePropertyId Vea las notas. Esta propiedad expone el texto que se muestra para cada control de elemento de árbol.

 

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 elementos de árbol. Para más información sobre los patrones de control, vea UI Automation Control Patterns Overview.

Patrón de control/Propiedad de patrón Soporte técnico/valor Notas
IExpandCollapseProvider Requerido Todos los elementos de árbol deben admitir el patrón de control ExpandCollapse porque todos los elementos se pueden expandir o contraer.
ExpandCollapseState Expanded, Collapsed o Leaf Node Los elementos de árbol son nodos hoja cuando no se expanden ni contraen.
IInvokeProvider Depende Implemente el patrón de control Invoke si el elemento de árbol puede realizar un comando.
IScrollItemProvider Depende Implemente el patrón de control ScrollItem si el contenedor de árbol admite el patrón de control Scroll .
ISelectionItemProvider Depende Implemente el patrón de control SelectionItem si es posible tener una selección activa que se mantiene cuando el usuario vuelve al contenedor de árbol.
SelectionContainer Requerido Esta propiedad expone el mismo contenedor para todos los elementos del contenedor.

 

Eventos necesarios

En la tabla siguiente se enumeran los eventos de Automatización de la interfaz de usuario que los controles de elementos de árbol 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_ExpandCollapseExpandCollapseStatePropertyId evento de cambio de propiedad.
UIA_Invoke_InvokedEventId Si el control admite el patrón de control Invoke , debe admitir este evento.
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_ItemStatusPropertyId evento de cambio de propiedad. Si el control admite la propiedad ItemStatus , debe admitir este evento.
UIA_MultipleViewCurrentViewPropertyId evento de cambio de propiedad. Si el control admite el patrón de control MultipleView , debe admitir este evento.
UIA_NamePropertyId evento de cambio de propiedad.
UIA_SelectionItem_ElementAddedToSelectionEventId Si el control admite el patrón de control SelectionItem , debe admitir este evento.
UIA_SelectionItem_ElementRemovedFromSelectionEventId Si el control admite el patrón de control SelectionItem , debe admitir este evento.
UIA_SelectionItem_ElementSelectedEventId Si el control admite el patrón de control SelectionItem , debe admitir este evento.
UIA_StructureChangedEventId
UIA_ToggleToggleStatePropertyId evento de cambio de propiedad. Si el control admite el patrón de control Toggle , debe admitir este evento.
UIA_ValueValuePropertyId evento de cambio de propiedad. Si el control admite el patrón de control Value , debe admitir este evento.

 

Observaciones

Si un elemento de árbol tiene subelementos distintos de los nodos de esquema secundarios, el proveedor debe controlar la información del objeto secundario con cuidado y claridad. En Automatización de la interfaz de usuario, la propia jerarquía de árbol controla la estructura de árbol. Al tener uno o varios elementos secundarios que no son de esquema, las diferencias entre ellos y los nodos de esquema secundarios reales se vuelven muy ambiguos.

Conceptual

Información general sobre tipos de control de UI Automation

Información general sobre UI Automation