Compartilhar via


Tipo de controle MenuBar

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

Os controles da barra de menus são um exemplo de controles que implementam o tipo de controle MenuBar. As barras de menu fornecem um meio para os usuários ativarem comandos e opções contidas em um aplicativo.

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

Este tópico contém 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 de Automação da Interface do Usuário que pertence aos controles da barra de menus 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.

Modo de Exibição de Controle Exibição de conteúdo
  • MenuBar
    • MenuItem (1 ou mais)
    • Outros controles (0 ou muitos)
  • Não aplicável
    • MenuItem (1 ou mais)
    • Outros controles (0 ou muitos)

 

Um controle de barra de menus sempre aparece no modo de exibição de controle, mas não no modo de exibição de conteúdo porque geralmente não transmite informações significativas para o usuário final (a menos que o aplicativo contenha mais de uma barra de menus).

Os clientes de Automação de Interface do Usuário podem escutar o evento UIA_MenuModeStartEventId para garantir que eles sejam notificados consistentemente quando a interface do usuário entrar no modo de menu. Quando o aplicativo estiver no modo de menu, toda a entrada do teclado poderá ser capturada para navegação no menu (por exemplo, digitar 's' pode invocar o menu Salvar em vez de digitar o caractere na área do cliente do aplicativo). O evento UIA_MenuModeStartEventId deve preceder o primeiro evento UIA_MenuOpenedEventId para garantir a consistência lógica. O evento UIA_MenuModeEndEventId segue o último evento de UIA_MenuClosedEventId. Clicar em um item de menu também pode disparar imediatamente o evento UIA_MenuModeStartEventId, seguido por um evento UIA_MenuOpenedEventId.

Um controle de barra de menus pode conter outros controles, como editar controles e caixas de combinação, dentro de sua estrutura. Esses controles adicionais correspondem aos "outros controles" listados acima nas exibições de controle e conteúdo.

Propriedades relevantes

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

Propriedade de Automação da Interface do Usuário Valor Anotações
UIA_AcceleratorKeyPropertyId ZERO As barras de menus geralmente não têm teclas de acelerador.
UIA_AccessKeyPropertyId "ALT" Pressionar a tecla ALT geralmente deve colocar o foco na barra de menus dentro do aplicativo.
UIA_BoundingRectanglePropertyId Confira as anotações. O valor exposto por essa propriedade deve incluir todos os controles contidos nela.
UIA_ControlTypePropertyId MenuBar
UIA_IsContentElementPropertyId FALSO O controle da barra de menus não está incluído na exibição de conteúdo da árvore de Automação da Interface do Usuário.
UIA_IsControlElementPropertyId VERDADEIRO O controle da barra de menus sempre está incluído na exibição de controle da árvore de Automação da Interface do Usuário.
UIA_IsKeyboardFocusablePropertyId VERDADEIRO Os controles da barra de menus são focalizáveis pelo teclado porque os controles que eles contêm podem levar o foco do teclado.
UIA_IsOffscreenPropertyId Confira as anotações. O valor dessa propriedade depende se o controle pode ser exibido na tela.
UIA_LabeledByPropertyId ZERO Os controles da barra de menus geralmente não têm um rótulo.
UIA_LocalizedControlTypePropertyId Confira as anotações. Cadeia de caracteres localizada correspondente ao tipo de controle MenuBar. O valor padrão é "barra de menus" para en-US ou inglês (Estados Unidos).
UIA_NamePropertyId Confira as anotações. O controle da barra de menus não precisa de um nome, a menos que um aplicativo tenha mais de uma barra de menus. Se houver mais de uma barra de menus em um aplicativo, use essa propriedade para expor nomes diferenciais, como "Formatação" ou "Estrutura de Tópicos".
UIA_OrientationPropertyId Depende Essa propriedade expõe se o controle da barra de menus é horizontal ou vertical.

 

Padrões de controle necessários

A tabela a seguir lista os padrões de controle de Automação da Interface do Usuário necessários para serem suportados pelos controles da barra de menus. Para obter mais informações sobre padrões de controle, consulte Visão geral dos padrões de controle de automação da interface do usuário.

Padrão de controle Apoio Anotações
IExpandCollapseProvider Depende Se o controle puder ser expandido ou recolhido, ele deverá implementar o padrão de controle ExpandCollapse.
IDockProvider Depende Se o controle puder ser encaixado em diferentes partes da tela, ele deverá implementar o padrão de controle do Dock.
ITransformProvider Depende Se o controle puder ser redimensionado, girado ou movido, ele deverá implementar o padrão de controle transformar.

 

Eventos necessários

A tabela a seguir lista os eventos de Automação da Interface do Usuário que os controles da barra de menus são necessários para dar suporte. Para obter mais informações sobre eventos, consulte Visão geral de eventos de automação da interface do usuário.

Evento de automação da interface do usuário Anotações
UIA_AutomationFocusChangedEventId
UIA_BoundingRectanglePropertyId evento alterado por propriedade.
UIA_ExpandCollapseExpandCollapseStatePropertyId evento alterado por propriedade. Se o controle der suporte ao padrão de controle ExpandCollapse, ele deverá dar suporte a esse evento.
UIA_IsEnabledPropertyId evento alterado por propriedade. Se o controle der suporte à propriedade IsEnabled, ele deverá dar suporte a esse evento.
UIA_IsOffscreenPropertyId evento alterado por propriedade. Se o controle der suporte à propriedade IsOffscreen, ele deverá dar suporte a esse evento.
UIA_StructureChangedEventId

 

Conceitual

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

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