Partilhar via


Tipo de controle MenuBar

Este tópico fornece informações sobre o suporte de automação da 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 menus fornecem um meio para os usuários ativarem comandos e opções contidos em um aplicativo.

As seções a seguir definem a estrutura da árvore de Automação da Interface do Usuário, propriedades, padrões de controle e eventos necessários para o tipo de controle MenuBar. 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 seguintes seções.

Estrutura típica da árvore

A tabela a seguir descreve 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 .

Vista de Controlo Visualização de conteúdo
  • Barra de menus
    • MenuItem (1 ou mais)
    • Outros controlos (0 ou muitos)
  • Não aplicável
    • MenuItem (1 ou mais)
    • Outros controlos (0 ou muitos)

 

Um controle de barra de menus sempre aparece na visualização de controle, mas não na 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 da Interface do Usuário podem ouvir o evento UIA_MenuModeStartEventId para garantir que sejam consistentemente notificados quando a interface do usuário entrar no modo de menu. Quando o aplicativo está no modo de menu, toda a entrada do teclado pode 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-se ao último evento UIA_MenuClosedEventId. Clicar em um item de menu também pode acionar imediatamente o evento UIA_MenuModeStartEventId, seguido por um evento UIA_MenuOpenedEventId.

Um controle de barra de menus pode conter outros controles, como controles de edição e caixas de combinação, dentro de sua estrutura. Esses controles adicionais correspondem aos "outros controles" listados acima nas visualizaçõ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. Para obter mais informações sobre as propriedades de 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 Observações
UIA_AcceleratorKeyPropertyId NULO As barras de menu geralmente não têm teclas aceleradoras.
UIA_AccessKeyPropertyId "ALT" Pressionar a tecla ALT geralmente deve trazer o foco para a barra de menus dentro do aplicativo.
UIA_BoundingRectanglePropertyId Ver notas. 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 está sempre incluído na visualização de controle da árvore de Automação da Interface do Usuário.
UIA_IsKeyboardFocusablePropertyId VERDADEIRO Os controles da barra de menus são focados no teclado porque os controles que eles contêm podem ter o foco do teclado.
UIA_IsOffscreenPropertyId Ver notas. O valor dessa propriedade depende se o controle é visível na tela.
UIA_LabeledByPropertyId NULO Os controles da barra de menus geralmente não têm um rótulo.
UIA_LocalizedControlTypePropertyId Ver notas. 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 Ver notas. 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 distintivos, como "Formatação" ou "Contorno".
UIA_OrientationPropertyId Depende Esta 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 padrões de controle de automação da interface do usuário.

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

 

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 suportar. 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 Observações
UIA_AutomationFocusChangedEventId
UIA_BoundingRectanglePropertyId evento de alteração de propriedade.
UIA_ExpandCollapseExpandCollapseStatePropertyId evento de alteração de propriedade. Se o controle oferecer suporte ao padrão de controle ExpandCollapse, ele deverá oferecer suporte a esse evento.
UIA_IsEnabledPropertyId evento de alteração de propriedade. Se o controle oferecer suporte à propriedadeIsEnabled, ele deverá oferecer suporte a esse evento.
UIA_IsOffscreenPropertyId evento de alteração de propriedade. Se o controle oferecer suporte à propriedade IsOffscreen, ele deverá oferecer suporte a esse evento.
UIA_StructureChangedEventId

 

Conceptual

Visão geral dos tipos de controle de automação da interface do UI

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