Partilhar via


CMenu::AppendMenu

Acrescenta um novo item ao final de um menu.

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

Parâmetros

  • nFlags
    Especifica informações sobre o estado do novo item de menu quando é adicionada ao menu.Consiste em um ou mais dos valores listados na seção comentários.

  • nIDNewItem
    Especifica a identificação de comando do novo item de menu 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 é usado para interpretar a seguinte forma: 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 WM_MEASUREITEM e mensagens de WM_DRAWITEM .O valor é armazenado no itemData membro de estrutura fornecida com essas mensagens.

    MF_STRING

    Contém um ponteiro para uma cadeia de caracteres NULL- finalizada.Esta é a interpretação padrão.

    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 pode especificar o estado do item de menu definindo valores em nFlags.Quando nIDNewItem especifica um menu pop-up, ela se torna parte de menu que é acrescentado.Se o menu é destruído, o menu será acrescentado destruído também.Um menu acrescentado deve ser desanexado de um objeto de CMenu para evitar o conflito.Observe que MF_STRING e MF_OWNERDRAW não são válidos para a versão bitmap de AppendMenu.

A lista a seguir descreve os sinalizadores que podem ser definidas em nFlags:

  • MF_CHECKED atua como uma alternância com MF_UNCHECKED para colocar a marca de seleção padrão ao lado do item.Quando o aplicativo forneça bitmaps de sinal (veja a função de membro de SetMenuItemBitmaps ), “marca de seleção no bitmap é exibida.

  • MF_UNCHECKED atua como uma alternância com MF_CHECKED para remover uma marca de seleção próxima ao item.Quando o aplicativo forneça bitmaps de sinal (veja a função de membro de SetMenuItemBitmaps ), “marca de seleção” fora de bitmap é exibida.

  • MF_DISABLED desativa o item de menu para que não possa ser selecionado mas não o escurece.

  • MF_ENABLED permite que o item de menu para que ele pode ser selecionado e o restaurará ela de seu estado esmaecido.

  • MF_GRAYED desativa o item de menu para que não possa ser selecionado e escurece-o.

  • MF_MENUBARBREAK coloca o item em uma nova linha em menus estáticos ou em uma nova coluna nos menus pop-up.A nova coluna de menus pop-up será separada da coluna antigo por uma linha de divisão vertical.

  • MF_MENUBREAK coloca o item em uma nova linha em menus estáticos ou em uma nova coluna nos menus pop-up.Nenhuma linha de divisão é colocada entre colunas.

  • MF_OWNERDRAW especifica que o item é um item do proprietário.Quando o menu é exibido pela primeira vez, a janela que possui o menu recebe uma mensagem de WM_MEASUREITEM , que recupera a altura e largura do item de menu.A mensagem de WM_DRAWITEM que é enviada sempre que o proprietário deve atualizar a aparência visual do item de menu.Esta opção não é válido por um item de menu de nível superior.

  • MF_POPUP especifica que o item de menu possui um menu pop-up associado a ele.O parâmetro de identificação especifica um identificador para um menu pop-up que deve ser associado ao item.Isso é usado adicionar um menu pop-up de nível superior ou um menu pop-up hierárquico a um item de menu pop-up.

  • MF_SEPARATOR desenha uma linha de divisão horizontal.Só pode ser usado em um menu pop-up.Esta linha não pode ser desativado obscurecida, ou realçado.Outros parâmetros são ignorados.

  • MF_STRING especifica que o item de menu é uma cadeia de caracteres.

Cada um dos seguintes grupos lista os sinalizadores que são mutuamente exclusivas e não podem ser usados juntos:

  • MF_DISABLED, MF_ENABLED, e MF_GRAYED

  • MF_STRING, MF_OWNERDRAW, MF_SEPARATOR, e a versão de bitmap

  • MF_MENUBARBREAK e MF_MENUBREAK

  • MF_CHECKED e MF_UNCHECKED

Sempre que um menu que reside em uma janela é alterado (se a janela é exibida), o aplicativo deve chamar CWnd::DrawMenuBar.

Exemplo

Consulte o exemplo para CMenu::CreateMenu.

Requisitos

Cabeçalho: afxwin.h

Consulte também

Referência

Classe de CMenu

Gráfico de hierarquia

CWnd::DrawMenuBar

CMenu::InsertMenu

CMenu::RemoveMenu

CMenu::SetMenuItemBitmaps

CMenu::Detach

AppendMenu