Alterações de menu

Várias funções permitem que você alterar um menu depois que ele foi carregado ou criado. Essas alterações podem incluir adicionando ou removendo itens de menu e modificar itens de menu existentes.

Para adicionar um item de menu, use a função InsertMenuItem . Você pode usar a função SetMenuItemInfo para alterar os atributos de um item de menu existente. O parâmetro lpmii aponta para uma MENUITEMINFO estrutura, que contém os novos atributos e especifica quais atributos para alterar. Os atributos de um item de menu incluem seu tipo, estado, identificador, submenu, bitmaps, dados de item e texto.

As mais antigas AppendMenu e InsertMenu funções também podem ser usadas para adicionar itens de menu, mas novos aplicativos devem usar InsertMenuItem. A função AppendMenu acrescenta um item de menu ao final de um menu ou submenu; a função InsertMenu insere um item de menu em uma posição especificada em um menu ou submenu. Ambas as funções permitem os atributos do item de menu deve ser especificado, incluindo se o item de menu é habilitado, desabilitado, cinza, marcado ou desmarcado.

Para alterar a aparência ou os atributos de um item de menu existente, use a função ModifyMenu . Por exemplo, a Cadeia de caracteres de texto ou bitmap de um item de menu pode ser habilitado, desabilitado, cinza, marcado ou desmarcado. A função ModifyMenu substitui o item de menu especificado com um novo item.

Para recuperar informações sobre um item de menu, use a GetMenuItemInfo função. O parâmetro lpmii aponta para uma MENUITEMINFO estrutura, que especifica os atributos para recuperar e recebe seus valores atuais.

Para excluir um item de menu de um menu, use a função DeleteMenu ou RemoveMenu . Se o item está sendo excluído é aquele que abre um submenu, DeleteMenu exclui o submenu associado, descartando o identificador menu e liberar a memória usada pelo submenu. A RemoveMenu função exclui um item de menu, mas se o item abre um submenu, a função não destrói o submenu ou seu identificador, permitindo que o submenu ser reutilizado.

Para redesenhar a barra de menus após modificou-se uma barra de menu, use a função DrawMenuBar . Caso contrário, as modificações não aparecerá até que o sistema redesenha a janela do proprietário.

Index