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
- propriedades relevantes
- padrões de controle necessários
- eventos necessários
- tópicos relacionados
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 |
---|---|
|
|
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 |
Tópicos relacionados