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: lpszNewItemnFlags
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