Compartir a través de


Tipo de control MenuItem

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 menuItem .

Un control de menú permite la organización jerárquica de elementos asociados a comandos y controladores de eventos. En una aplicación típica de Windows, una barra de menús contiene varios elementos de menú (como Archivo, Editary Ventana) y cada elemento de menú muestra un menú. Un menú contiene una colección de elementos de menú (como Nuevo, Abriry Cerrar), que se pueden expandir para mostrar elementos de menú adicionales o realizar una acción específica al hacer clic en él.

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 menuItem . Los requisitos de automatización de la interfaz de usuario se aplican a todos los controles de elementos de menú 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 menú 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
  • MenuItem "Ayuda"
    • Menú (submenú del elemento de menú Ayuda)
      • MenuItem "Temas de ayuda"
      • MenuItem "Acerca del Bloc de notas"
  • MenuItem "Ayuda"
    • MenuItem "Temas de ayuda"
    • MenuItem "Acerca del Bloc de notas"

 

La vista de control del control del elemento de menú tiene la estructura de árbol de automatización de la interfaz de usuario mostrada anteriormente. Tenga en cuenta que el elemento de menú de Ayuda en la barra de menús se ha agregado para ilustrar mejor la estructura.

Para la vista de contenido, menú no está presente en el árbol de automatización de la interfaz de usuario porque no transmite información significativa al usuario final.

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 MenuItem . 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. Asigne la propiedad automationId de para un elemento de menú si se sabe que el elemento es coherente en distintas instancias de la interfaz de usuario. Si el elemento de menú se rellena dinámicamente y no es predecible, deje en blanco el AutomationId propiedad.
UIA_BoundingRectanglePropertyId Vea las notas. Rectángulo más externo que contiene todo el control.
UIA_ClickablePointPropertyId Vea las notas. Se admite si hay un rectángulo delimitador. Si no se puede hacer clic en todos los puntos del rectángulo delimitador, y el elemento realiza pruebas de posicionamiento especializadas, invalida y proporciona un punto en el que se puede hacer clic.
UIA_ControlTypePropertyId menuItem
UIA_IsContentElementPropertyId VERDADERO El control de elemento de menú siempre se incluye en la vista de contenido del árbol de automatización de la interfaz de usuario.
UIA_IsControlElementPropertyId VERDADERO El control de elemento de menú 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_LocalizedControlTypePropertyId Vea las notas. Cadena localizada correspondiente al tipo de control MenuItem . El valor predeterminado es "elemento de menú" para en-US o inglés (Estados Unidos).
UIA_NamePropertyId Vea las notas. El nombre del control de elemento de menú es el texto que se usa para etiquetarlo.

 

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 los controles de elemento de menú. 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 Apoyo Notas
IExpandCollapseProvider Depende Si el control se puede expandir o contraer, implemente IExpandCollapseProvider.
IInvokeProvider Depende Si el control ejecuta una sola acción o comando, implemente IInvokeProvider.
ISelectionItemProvider Depende Si el control se usa para seleccionar entre una lista de opciones entre los elementos de menú, implemente ISelectionItemProvider.
IToggleProvider Depende Si el control representa una opción que se puede activar o desactivar, implemente IToggleProvider.

 

Eventos necesarios

En la tabla siguiente se enumeran los eventos de automatización de la interfaz de usuario que los controles de elementos de menú 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. Si el control admite el patrón de control ExpandCollapse, debe admitir este evento.
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_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.

 

Problemas heredados

Para los elementos de menú de Microsoft Win32, el patrón de control de alternancia solo se admite cuando se comprueba un elemento de menú y es posible determinar mediante programación si se requiere compatibilidad con el patrón de control Toggle. Dado que un elemento de menú Win32 no expone si se puede comprobar, el patrón de control Invoke se admite cuando el elemento de menú no está activado. El patrón de control Invoke siempre se admite, incluso para los elementos de menú que solo son necesarios para admitir el patrón de control Toggle. Esto es así que los clientes no se confunden cuando un elemento de menú que admitía la Invocar patrón de control (cuando el elemento de menú estaba desactivado) ya no admite ese patrón cuando se activa.

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