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);
| 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. |
| 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). |
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.
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:
Visão geral de menus, funções de Menu, AppendMenu, CheckMenuItem, DrawMenuBar, EnableMenuItem, SetMenuItemBitmaps, SetMenuItemInfo, WM_DRAWITEM, WM_MEASUREITEM