Compartir a través de


Tipo de control TreeItem

En este tema se proporciona información sobre la compatibilidad de Automatización de la interfaz de usuario de Microsoft 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, denominados nodos secundarios. Los nodos primarios o los nodos que contienen nodos secundarios se pueden mostrar como expandidos o contraídos.

En las secciones siguientes se define la estructura de árbol de 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 integra la compatibilidad de automatización de la interfaz de usuario con los tipos de control y los patrones de control.

Este tema contiene las secciones siguientes.

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 describe lo que se puede contener en cada vista. Para obtener más información sobre el árbol de automatización de la interfaz de usuario, consulte Introducción al árbol de automatización de la interfaz de usuario.

Vista de control Vista de contenido
  • TreeItem
    • CheckBox (0 o 1)
    • Imagen (0 o 1)
    • Botón (0 o 1)
    • TreeItem (0 o más)
  • TreeItem
    • TreeItem (0 o más)

 

Los controles de elementos de árbol pueden tener cero o más elementos de árbol secundarios 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 o en la vista de contenido hasta que se expanden y son visibles (o se pueden desplazar hacia la vista).

La vista de control puede contener detalles adicionales para un control, incluida una imagen asociada o un botón. Por ejemplo, un elemento de una vista de esquema puede 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 de 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, consulte Recuperar propiedades de elementos de automatización de la interfaz de usuario.

Ui Automation (propiedad) 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. Rectángulo más externo que contiene todo el control.
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 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, esta propiedad debe admitirse y debe indicar el tipo de elemento.
UIA_LabeledByPropertyId NULL Los controles de elementos de árbol son autoetitiquetes.
UIA_LocalizedControlTypePropertyId Vea las notas. Cadena localizada correspondiente al tipo de control TreeItem. El valor predeterminado es "elemento de árbol" para en-US o inglés (Estados Unidos).
UIA_NamePropertyId Vea las notas. Esta propiedad expone el texto mostrado para cada control de elemento de árbol.

 

Patrones de control necesarios

En la tabla siguiente se enumeran los patrones de control de automatización de la interfaz de usuario necesarios para ser compatibles con todos los controles de elementos de árbol. Para obtener más información sobre los patrones de control, consulte Introducción a los patrones de control de automatización de la interfaz de usuario.

Patrón de control/propiedad pattern Compatibilidad/valor Notas
IExpandCollapseProvider Obligatorio Todos los elementos de árbol deben admitir el patrón de control ExpandCollapse porque todos los elementos se pueden expandir o contraer.
ExpandCollapseState Nodo expandido, contraído o hoja 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 Obligatorio 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 obtener más información sobre los eventos, consulte 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 propiedadIsEnabled, 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 propiedadItemStatus, 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 alternancia, 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 cuidadosa y claramente la información del objeto secundario. En la 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 seriamente ambiguos.

conceptual de

Introducción a los tipos de control de automatización de la interfaz de usuario de

información general de automatización de la interfaz de usuario de