Tipo de controle MenuBar

Este tópico fornece informações sobre o suporte do Microsoft Automação da Interface do Usuário 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 de árvore Automação da Interface do Usuário necessária, propriedades, padrões de controle e eventos 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 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 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.

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

Automação da Interface do Usuário clientes 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 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 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 de conteúdo.

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 MenuBar. 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_AcceleratorKeyPropertyId NULO As barras de menu geralmente não têm teclas de acelerador.
UIA_AccessKeyPropertyId "ALT" Pressionar a tecla ALT geralmente deve trazer o foco para a barra de menus dentro do aplicativo.
UIA_BoundingRectanglePropertyId Veja as observações. O valor exposto por essa propriedade deve incluir todos os controles contidos nela.
UIA_ControlTypePropertyId MenuBar
UIA_IsContentElementPropertyId FALSE O controle da barra de menus não está incluído na exibição de conteúdo da árvore Automação da Interface do Usuário.
UIA_IsControlElementPropertyId TRUE O controle da barra de menus é sempre incluído na exibição de controle da árvore de automação da interface do usuário.
UIA_IsKeyboardFocusablePropertyId TRUE Os controles da barra de menus são focalizáveis pelo teclado porque os controles que eles contêm podem tirar o foco do teclado.
UIA_IsOffscreenPropertyId Veja as observações. O valor dessa propriedade dependerá se o controle pode ou não ser exibido na tela.
UIA_LabeledByPropertyId NULO Os controles da barra de menus geralmente não têm um rótulo.
UIA_LocalizedControlTypePropertyId Veja as observaçõ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 Veja as observaçõ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 diferenciados, 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 que deverão ter suporte de todos os controles da barra de menus. Para obter mais informações sobre padrões de controle, confira 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, 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 Dock .
ITransformProvider Depende Se o controle puder ser redimensionado, girado ou movido, ele deverá implementar o padrão de controle Transformar .

 

Eventos obrigatórios

A tabela a seguir lista os eventos Automação da Interface do Usuário aos quais os controles da barra de menus 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 com alteração de propriedade.
UIA_ExpandCollapseExpandCollapseStatePropertyId evento com alteração de propriedade. Se o controle der suporte ao padrão de controle ExpandCollapse , ele deverá dar suporte a esse evento.
UIA_IsEnabledPropertyId evento com alteração de propriedade. Se o controle der suporte à propriedade IsEnabled , ele deverá dar suporte a esse evento.
UIA_IsOffscreenPropertyId evento com alteração de 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 de Interface do Usuário

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