Compartilhar via


CMenu::ModifyMenu

Modifique um item de menu existente na posição especificada por nPosition.

BOOL ModifyMenu( 
   UINT nPosition, 
   UINT nFlags, 
   UINT_PTR nIDNewItem = 0, 
   LPCTSTR lpszNewItem = NULL  
); 
BOOL ModifyMenu( 
   UINT nPosition, 
   UINT nFlags, 
   UINT_PTR nIDNewItem, 
   const CBitmap* pBmp  
);

Parâmetros

  • nPosition
    Especifica o item de menu seja alterado. O parâmetro de nFlags pode ser usado para interpretar das seguintes maneiras: nPosition

    nFlags

    Interpretação de nPosition

    MF_BYCOMMAND

    Especifica que o parâmetro fornece a identificação do comando de menu item existente. Esta é a opção se nem nem MF_BYCOMMANDMF_BYPOSITION são definidos.

    MF_BYPOSITION

    Especifica que o parâmetro retorna a posição do item de menu existente. O primeiro item está na posição 0.

  • nFlags
    Especifica como nPosition é interpretado e fornece informações sobre as alterações a serem feitas ao item de menu. Para obter uma lista de sinalizadores que podem ser definidos, consulte a função de membro de AppendMenu .

  • nIDNewItem
    Especifica a identificação de comando do item de menu modificado ou, se nFlags é definido como MF_POPUP, a alça de menu (HMENU) de um menu pop-up. O parâmetro de nIDNewItem é ignorado (não necessariamente) se nFlags é definido como MF_SEPARATOR.

  • lpszNewItem
    Especifica o conteúdo do novo item de menu. O parâmetro de nFlags pode ser usado para interpretar das seguintes maneiras: lpszNewItem

    nFlags

    Interpretação de lpszNewItem

    MF_OWNERDRAW

    Contém um valor de 32 bits do aplicativo fornecido que o aplicativo possa usar para manter os dados adicionais associados com o item de menu. Este valor de 32 bits está disponível para o aplicativo quando ele processa MF_MEASUREITEM e MF_DRAWITEM.

    MF_STRING

    Contém um ponteiro para uma longa cadeia de caracteres NULL- finalizada ou a CString.

    MF_SEPARATOR

    O parâmetro de lpszNewItem é ignorado (não necessariamente).

  • pBmp
    Os pontos a CBitmap objeto que será usado como o item de menu.

Valor de retorno

Diferente de zero se a função é com êxito; se não 0.

Comentários

O aplicativo especifica o novo estado do item de menu definindo valores em nFlags. Se esta função substitui um menu pop-up associado com o item de menu for, o menu pop-up antigo e libera memória usada pelo menu pop-up.

Quando nIDNewItem especifica um menu pop-up, ela se torna parte do menu em que é inserido. Se o menu é destruído, o menu será destruído também inserido. Um menu inserido deve ser desanexado de um objeto de CMenu para evitar o conflito.

Sempre que um menu que reside em uma janela é alterado (se a janela é exibida), o aplicativo deve chamar CWnd::DrawMenuBar. Para alterar os atributos de itens de menu existentes, é muito mais rápido usar as funções de membro de CheckMenuItem e de EnableMenuItem .

Exemplo

Consulte o exemplo para CMenu::InsertMenu.

Requisitos

Cabeçalho: afxwin.h

Consulte também

Referência

Classe CMenu

Gráfico da hierarquia

CMenu::AppendMenu

CMenu::InsertMenu

CMenu::CheckMenuItem

CWnd::DrawMenuBar

CMenu::EnableMenuItem

CMenu::SetMenuItemBitmaps

CMenu::Detach

ModifyMenu