Partilhar via


Tipo de controle MenuItem

Este tópico fornece informações sobre o suporte do Microsoft Automação da Interface do Usuário para o tipo de controle MenuItem.

Um controle de menu permite a organização hierárquica de elementos associados a comandos e manipuladores de eventos. Em um aplicativo típico do Windows, uma barra de menus contém vários itens de menu (como Arquivo, Edição e Janela) e cada item de menu exibe um menu. Um menu contém uma coleção de itens de menu (como Novo, Abrir e Fechar), que podem ser expandidos para exibir itens de menu adicionais ou executar uma ação específica quando clicado.

As seções a seguir definem a estrutura de árvore Automação da Interface do Usuário necessária, propriedades, padrões de controle e eventos para o tipo de controle MenuItem. Os requisitos de Automação da Interface do Usuário se aplicam a todos os controles de item de menu em que a estrutura/plataforma da interface do usuário integra Automação da Interface do Usuário suporte para tipos de controle e padrões de controle.

Este tópico inclui as seções a seguir.

Estrutura de árvore típica

A tabela a seguir ilustra um controle típico e uma exibição de conteúdo da árvore Automação da Interface do Usuário que pertence aos controles de item de menu e descreve o que pode ser contido em cada exibição. Para obter mais informações sobre a árvore de Automação da Interface do Usuário, consulte Visão geral da árvore de Automação da Interface do Usuário.

Exibição de controle Exibição de conteúdo
  • MenuItem "Ajuda"
    • Menu (submenu do item de menu Ajuda)
      • MenuItem "Tópicos da Ajuda"
      • MenuItem "Sobre o Bloco de Notas"
  • MenuItem "Ajuda"
    • MenuItem "Tópicos da Ajuda"
    • MenuItem "Sobre o Bloco de Notas"

 

A exibição de controle do controle de item de menu tem a estrutura da árvore de IU mostrada acima. Observe que o item de menu da Ajuda na barra de menus foi adicionado para ilustrar melhor a estrutura.

Para o modo de exibição de conteúdo, o Menu está ausente da árvore Automação da Interface do Usuário porque não transmite informações significativas para o usuário final.

Propriedades relevantes

A tabela a seguir lista as propriedades Automação da Interface do Usuário cujo valor ou definição é especialmente relevante para o tipo de controle MenuItem. Para obter mais informações sobre Automação da Interface do Usuário propriedades, consulte Recuperando propriedades de elementos Automação da Interface do Usuário.

Propriedade de Automação da Interface do Usuário Valor Observações
UIA_AutomationIdPropertyId Veja as observações. O valor dessa propriedade deve ser exclusivo entre todos os elementos pares na exibição bruta da árvore Automação da Interface do Usuário. Aloque a propriedade AutomationId para um item de menu se o elemento for conhecido por ser consistente em diferentes instâncias da interface do usuário. Se o item de menu for preenchido dinamicamente e não for previsível, deixe a propriedade AutomationId em branco.
UIA_BoundingRectanglePropertyId Veja as observações. O retângulo mais externo que contém todo o controle.
UIA_ClickablePointPropertyId Veja as observações. Com suporte se houver um retângulo delimitador. Se nem todos os pontos dentro do retângulo delimitador forem clicáveis e o elemento executar testes de clique especializados, substitua e forneça um ponto clicável.
UIA_ControlTypePropertyId MenuItem
UIA_IsContentElementPropertyId TRUE O controle de item de menu sempre é incluído na exibição de conteúdo da árvore Automação da Interface do Usuário.
UIA_IsControlElementPropertyId TRUE O controle de item de menu sempre está incluído na exibição de controle da árvore Automação da Interface do Usuário.
UIA_IsKeyboardFocusablePropertyId Veja as observações. Se o controle puder receber o foco do teclado, ele deverá dar suporte a essa propriedade.
UIA_LocalizedControlTypePropertyId Veja as observações. Cadeia de caracteres localizada correspondente ao tipo de controle MenuItem . O valor padrão é "item de menu" para en-US ou inglês (Estados Unidos).
UIA_NamePropertyId Veja as observações. O nome do controle de item de menu é o texto usado para rotulá-lo.

 

Padrões de controle necessários

A tabela a seguir lista os padrões de controle de Automação da Interface do Usuário que deverão ter suporte de todos os controles de item de menu. Para obter mais informações sobre padrões de controle, consulte Visão geral dos padrões de controle da Automação da Interface do Usuário.

Padrão de controle Suporte Observações
IExpandCollapseProvider Depende Se o controle puder ser expandido ou recolhido, implemente IExpandCollapseProvider.
IInvokeProvider Depende Se o controle executar uma única ação ou comando, implemente IInvokeProvider.
ISelectionItemProvider Depende Se o controle for usado para selecionar em uma lista de opções entre itens de menu, implemente ISelectionItemProvider.
IToggleProvider Depende Se o controle representar uma opção que pode ser ativada ou desativada, implemente IToggleProvider.

 

Eventos obrigatórios

A tabela a seguir lista os eventos Automação da Interface do Usuário aos quais os controles de item de menu são necessários para dar suporte. Para mais informações sobre eventos, confira Visão geral de eventos de Automação da Interface do Usuário.

Evento de Automação da Interface do Usuário Observações
UIA_AutomationFocusChangedEventId
UIA_BoundingRectanglePropertyId evento de alteração de propriedade.
UIA_ExpandCollapseExpandCollapseStatePropertyId evento de alteração de propriedade. Se o controle der suporte ao padrão de controle ExpandCollapse , ele deverá dar suporte a esse evento.
UIA_Invoke_InvokedEventId Se o controle der suporte ao padrão de controle Invoke , ele deverá dar suporte a esse evento.
UIA_IsEnabledPropertyId evento de alteração de propriedade. Se o controle der suporte à propriedade IsEnabled , ele deverá dar suporte a esse evento.
UIA_IsOffscreenPropertyId evento de alteração de propriedade. Se o controle der suporte à propriedade IsOffscreen , ele deverá dar suporte a esse evento.
UIA_SelectionItem_ElementAddedToSelectionEventId Se o controle der suporte ao padrão de controle SelectionItem , ele deverá dar suporte a esse evento.
UIA_SelectionItem_ElementRemovedFromSelectionEventId Se o controle der suporte ao padrão de controle SelectionItem , ele deverá dar suporte a esse evento.
UIA_SelectionItem_ElementSelectedEventId Se o controle der suporte ao padrão de controle SelectionItem , ele deverá dar suporte a esse evento.
UIA_StructureChangedEventId
UIA_ToggleToggleStatePropertyId evento de alteração de propriedade. Se o controle der suporte ao padrão de controle Desativar , ele deverá dar suporte a esse evento.

 

Problemas herdados

Para itens de menu do Microsoft Win32, o padrão de controle Desativar é suportado somente quando um item de menu é verificado e é possível determinar programaticamente se o suporte para o padrão de controle de alternância é necessário. Como um item de menu Win32 não expõe se ele pode ser verificado, o padrão de controle Invoke tem suporte quando o item de menu não é verificado. O padrão de controle Invoke sempre tem suporte, mesmo para itens de menu que são necessários apenas para dar suporte ao padrão de controle Desativar. Isso é para que os clientes não fiquem confusos quando um item de menu que dá suporte ao padrão de controle Invoke (quando o item de menu foi desmarcado) não dá mais suporte a esse padrão quando ele é verificado.

Conceitual

Visão Geral dos Tipos de Controle de Automação de Interface do Usuário

Visão geral de automação da interface do usuário