ModifyMenu

A função ModifyMenu altera um item de menu existente. Essa função é usada para especificar o conteúdo, aparência e comportamento do item de menu.

A função ModifyMenu foi substituída pela função SetMenuItemInfo . Você pode ainda usar ModifyMenu, no entanto, se você não precisa de nenhum dos recursos estendidos do SetMenuItemInfo.

(BOOL ModifyMenu HMENU  hMnu, / / identificador para o menuUINTuPosition, / / menu item para modificarUINTuFlags, / / item de menu sinalizadoresUINTuIDNewItem, / / menu item identificador ou identificador para soltar-para baixo / / menu ou submenuLPCTSTRlpNewItem / / menu de item conteúdo);
 

Parâmetros

hMnu
Identificador para o menu a ser alterado.
uPosition
Especifica o item de menu a ser alterado, conforme determinado pelo uFlags parâmetro.
uFlags
Especifica os sinalizadores que controlam a interpretação do uPosition parâmetro e o conteúdo, aparência e comportamento do item de menu. Este parâmetro deve ser uma combinação de um dos seguintes valores necessários e pelo menos um dos valores listados na seguinte seção Comentários.
Valor Significado
MF_BYCOMMAND Indica que o parâmetro uPosition fornece o identificador do item de menu. O Sinalizar MF_BYCOMMAND é o padrão se nem o MF_BYCOMMAND ou MF_BYPOSITION Sinalizar for especificado.
MF_BYPOSITION Indica que o parâmetro uPosition oferece o relativo posição baseada em zero do item de menu.

uIDNewItem
Especifica ambos o identificador do item de menu modificados ou, se a uFlags parâmetro tiver o Sinalizar MF_POPUP definida, o identificador para o drop-down menu ou submenu.
lpNewItem
Ponteiro para o conteúdo do item de menu alterados. A interpretação deste parâmetro depende se a uFlags parâmetro inclui o sinalizador MF_BITMAP, MF_OWNERDRAW ou MF_STRING.
Valor Significado
MF_BITMAP Contém um identificador de bitmap.
MF_OWNERDRAW Contém um valor de 32 bits fornecido por um aplicativo que é usado para manter dados adicionais relacionados ao item de menu. O valor está no itemData membro da estrutura apontado pelo lparam parâmetro da WM_MEASUREITEM ou WM_DRAWITEM mensagens enviadas quando o item de menu é criado ou sua aparência é atualizada.
MF_STRING Contém um ponteiro para uma seqüência de caracteres null-terminated (o padrão).

Retornar valores

Se a função for bem-sucedido, o valor de retorno é diferente de zero.

Se a função falhar, o valor de retorno é zero. Para obter informações de erro estendidas, chame GetLastError.

Observações

Se ModifyMenu substitui um item de menu que abre um menu drop-down ou submenu, a função destrói o velho drop-down menu ou submenu e libera a memória usada por ele.

Em ordem para aceleradores de teclado trabalhar com bitmap ou owner-drawn menu itens, o proprietário do menu deve processo a mensagem WM_MENUCHAR. Consulte Menus de Owner-Drawn e a mensagem de WM_MENUCHAR para obter mais informações.

O aplicativo deve chamar o DrawMenuBar função sempre que um menu muda, ou não o menu está em uma janela exibida. Para alterar os atributos de itens de menu existentes, é muito mais rápido usar o CheckMenuItem e EnableMenuItem funções.

A lista a seguir descreve os sinalizadores que podem ser definidas in a uFlags parâmetro:

Valor Significado
MF_BITMAP Usa um bitmap como o item de menu. O lpNewItem parâmetro contém o identificador para o bitmap.
MF_BYCOMMAND Indica que o uPosition parâmetro especifica o identificador do item de menu (o padrão).
MF_BYPOSITION Indica que o parâmetro uPosition especifica o relativo posição baseada em zero do item de menu novo.
MF_CHECKED Coloca uma marca de seleção próxima ao item. Se seu aplicativo fornece bitmaps de marca de Marcar (marcar a função SetMenuItemBitmaps ), este sinalizador exibe um bitmap selecionado junto ao item de menu.
MF_DISABLED Desabilita o item de menu para que ele não pode ser selecionado, mas esse Sinalizar não cinza-lo.
MF_ENABLED Permite que o item de menu para que ele pode ser selecionado e restaura-lo de seu estado sombreado.
MF_GRAYED Desabilita o item de menu e grays-lo para que ele não pode ser selecionado.
MF_MENUBARBREAK Funções, o mesmo que o MF_MENUBREAK sinalizador para uma barra de menus. Para um drop-down menu, submenu ou menu de atalho, a nova coluna separada da coluna antiga por uma linha vertical.
MF_MENUBREAK Coloca o item em uma Novo linha (para barras de menus) ou em uma nova coluna (para um drop-down menu, submenu ou menu de atalho) sem separar colunas.
MF_OWNERDRAW Especifica que o item é um item owner-drawn. Antes que o menu é exibido pela primeira vez, a janela que possui o menu recebe uma mensagem WM_MEASUREITEM para recuperar a largura e a altura do item de menu. A mensagem WM_DRAWITEM , em seguida, é enviada para o procedimento janela da janela de proprietário, sempre que a aparência do item de menu deve ser atualizada.
MF_POPUP Especifica que o item de menu abre um Soltar-para baixo menu ou submenu. O parâmetro uIDNewItem especifica o identificador para o drop-down menu ou submenu. Este sinalizador é usado para adicionar um nome de menu para uma barra de menus ou um item de menu que abre um submenu para um drop-down menu, submenu ou menu de atalho.
MF_SEPARATOR Desenha uma linha divisória horizontal. Este sinalizador é usado somente em um drop-down menu, submenu ou menu de atalho. A linha não pode ser cinza, desabilitada ou realçada. Os lpNewItem e uIDNewItem parâmetros são ignorados.
MF_STRING Especifica que o item de menu é uma Cadeia de caracteres de texto; o lpNewItem parâmetro aponta para a seqüência de caracteres.
MF_UNCHECKED Não colocar uma marca de seleção próxima ao item (o padrão). Se seu aplicativo fornece bitmaps de marca de Marcar (marcar a função SetMenuItemBitmaps ), este sinalizador exibe um bitmap desmarcado próximo para o item de menu.

Os seguintes grupos de sinalizadores não podem ser usados juntos:

Ver também

Visão geral de menus, funções de Menu, AppendMenu, CheckMenuItem, DrawMenuBar, EnableMenuItem, SetMenuItemBitmaps, SetMenuItemInfo, WM_DRAWITEM, WM_MEASUREITEM

Index