Grupo de Menus
O Grupo de Menus organiza Comandos e controles relacionados dentro de um menu ou barra de ferramentas.
Introdução
O controle Menu Group, exposto por meio do elemento de marcaçãoMenuGroup, é um contêiner lógico para grupos de itens ou Comandos em controles baseados em menu, incluindo o Context Popup Mini-Toolbar.
Um rótulo pode ser especificado para um Grupo de Menus por meio do atributo LabelTitle ou propriedade Command.LabelTitle de uma declaração Command associada. O valor atribuído a LabelTitle é renderizado como um cabeçalho de categoria.
O exemplo a seguir demonstra a marcação Command para um controle Split Button que inclui duas declarações Menu Group Command.
<!-- SplitButton -->
<Command Name="cmdSplitButtonGroup"
Symbol="cmdSplitButtonGroup"
Comment="SplitButton Group"
LabelTitle="SplitButton"/>
<Command Name="cmdSplitButton"
Symbol="cmdSplitButton"
Comment="SplitButton"
LabelTitle="SplitButton"/>
<Command Name="cmdSBButtonItem"
Symbol="cmdSBButtonItem"
Comment="SBButtonItem"
LabelTitle="SB ButtonItem"/>
<Command Name="cmdSBButton1"
Symbol="cmdSBButton1"
Comment="SBButton1"
LabelTitle="SB Button">
<Command.LargeImages>
<Image Source="res/copyL_32.bmp"/>
</Command.LargeImages>
<Command.SmallImages>
<Image Source="res/copyS_16.bmp"/>
</Command.SmallImages>
<Command.LargeHighContrastImages>
<Image Source="res/copyLHC_32.bmp"/>
</Command.LargeHighContrastImages>
<Command.SmallHighContrastImages>
<Image Source="res/copySHC_16.bmp"/>
</Command.SmallHighContrastImages>
</Command>
<Command Name="cmdSBMajorItems"
Comment="Major Items Category"
LabelTitle="Major Items"/>
<Command Name="cmdSBStandardItems"
Comment="Standard Items Category"
LabelTitle="Standard Items"/>
O exemplo a seguir demonstra a marcação necessária para um elemento SplitButton com três declarações de elementoMenuGroup, duas das quais estão associadas aos comandos de grupo de menu do exemplo anterior. O atributo Class do elemento MenuGroup é usado para especificar o tamanho dos itens de menu.
<Group CommandName="cmdSplitButtonGroup">
<SplitButton CommandName="cmdSplitButton">
<SplitButton.ButtonItem>
<Button CommandName="cmdSBButtonItem"/>
</SplitButton.ButtonItem>
<SplitButton.MenuGroups>
<MenuGroup CommandName="cmdSBMajorItems"
Class="MajorItems">
<Button CommandName="cmdSBButton1"/>
<Button CommandName="cmdSBButton1"/>
</MenuGroup>
<MenuGroup CommandName="cmdSBStandardItems"
Class="StandardItems">
<Button CommandName="cmdSBButton1"/>
<Button CommandName="cmdSBButton1"/>
</MenuGroup>
<MenuGroup Class="StandardItems">
<Button CommandName="cmdSBButton1"/>
<Button CommandName="cmdSBButton1"/>
</MenuGroup>
</SplitButton.MenuGroups>
</SplitButton>
</Group>
A captura de tela a seguir ilustra o menu (com três controles Grupo de menus) gerado a partir da marcação nos exemplos anteriores.
Propriedades do Grupo de Menus
A estrutura da Faixa de Opções define uma coleção de chaves de propriedade para o controle Grupo de Menus.
Normalmente, uma propriedade Menu Group é atualizada na interface do usuário da faixa de opções invalidando o Command associado ao controle por meio de uma chamada para o IUIFramework::InvalidateUICommand método. O evento de invalidação é manipulado e as atualizações de propriedade definidas pelo método de retorno de chamada IUICommandHandler::UpdateProperty IUICommandHandler.
O IUICommandHandler::UpdateProperty método de retorno de chamada não é executado e o aplicativo consultado para obter um valor de propriedade atualizado, até que a propriedade seja exigida pela estrutura. Por exemplo, quando uma guia é ativada e um controle revelado na interface do usuário da faixa de opções ou quando uma dica de ferramenta é exibida.
Observação
Em alguns casos, uma propriedade pode ser recuperada através do método IUIFramework::GetUICommandProperty e definida com o IUIFramework::SetUICommandProperty método.
A tabela a seguir lista as chaves de propriedade associadas ao controle Grupo de menus.
Chave do imóvel | Observações |
---|---|
UI_PKEY_Enabled | Suporta IUIFramework::GetUICommandProperty e IUIFramework::SetUICommandProperty. |
UI_PKEY_Keytip | Só pode ser atualizado através de invalidação. |
UI_PKEY_Label | Só pode ser atualizado através de invalidação. |
UI_PKEY_TooltipDescription | Só pode ser atualizado através de invalidação. |
UI_PKEY_TooltipTitle | Só pode ser atualizado através de invalidação. |
Tópicos relacionados