Grupo de Menus
O Grupo de Menus organiza comandos e controles relacionados em um menu ou barra de ferramentas.
Introdução
O controle Grupo de Menus, exposto por meio do elemento de marcação MenuGroup , é um contêiner lógico para grupos de itens ou Comandos em controles baseados em menu, incluindo a minibarra de ferramentas pop-tool do pop-up de contexto .
Um rótulo pode ser especificado para um Grupo de Menus por meio do atributo LabelTitle ou da 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 de comando para um controle Dividir Botão que inclui duas declarações de Comando de Grupo de Menus.
<!-- 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 elemento MenuGroup , duas das quais estão associadas aos Comandos do Grupo de Menus 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 do 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 Grupo de Menus é atualizada na interface do usuário da faixa de opções invalidando o Comando associado ao controle por meio de uma chamada para o método IUIFramework::InvalidateUICommand . O evento de invalidação é tratado e as atualizações de propriedade definidas pelo método de retorno de chamada IUICommandHandler::UpdateProperty .
O método de retorno de chamada IUICommandHandler::UpdateProperty não é executado e o aplicativo consultou 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 por meio do método IUIFramework::GetUICommandProperty e definida com o método IUIFramework::SetUICommandProperty .
A tabela a seguir lista as chaves de propriedade associadas ao controle Grupo de Menus.
Chave de Propriedade | Observações |
---|---|
UI_PKEY_Enabled | Dá suporte a IUIFramework::GetUICommandProperty e IUIFramework::SetUICommandProperty. |
UI_PKEY_Keytip | Só pode ser atualizado por meio de invalidação. |
UI_PKEY_Label | Só pode ser atualizado por meio de invalidação. |
UI_PKEY_TooltipDescription | Só pode ser atualizado por meio de invalidação. |
UI_PKEY_TooltipTitle | Só pode ser atualizado por meio de invalidação. |
Tópicos relacionados