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 CMenu

Gráfico da hierarquia

CWnd::DrawMenuBar

CMenu::InsertMenu

CMenu::RemoveMenu

CMenu::SetMenuItemBitmaps

CMenu::Detach

AppendMenu