BOOL InsertMenu ( UINT nPosition, UINT nFlags, UINT nIDNewItem = 0, LPCTSTR lpszNewItem = Nulo );
BOOL InsertMenu ( UINT nPosition, UINT nFlags, UINT nIDNewItem, const CBitmap* pBmp );
Valor de retorno
Diferente de zero se a função for bem-sucedida; caso contrário 0.
Parâmetros
nPosition
Especifica o item de menu antes que o novo item de menu é para ser inserido. O parâmetro nFlags pode ser usado para interpretar nPosition das seguintes maneiras:
| nFlags | Interpretação dos nPosition |
| MF_BYCOMMAND | Especifica que o parâmetro oferece a identificação de comando do item de menu existente. Este é o padrão se nem MF_BYCOMMAND MF_BYPOSITION é definido. |
| MF_BYPOSITION | Especifica que o parâmetro oferece a posição do item de menu existente. O primeiro item está na posição 0. Se nPosition – 1, o item de menu novo é acrescentado ao final do menu. |
nFlags
Especifica como nPosition é interpretado e especifica informações sobre o estado do item de menu novo quando ele é adicionado ao menu. Para obter uma lista dos sinalizadores que podem ser definidas, consulte a função de membro AppendMenu . Para especificar mais de um valor, use o operador OR bit a bit para combiná-los com o MF_BYCOMMAND ou MF_BYPOSITION Sinalizar.
nIDNewItem
Especifica a identificação de comando do novo item de menu ou, se nFlags for definido como MF_POPUP, o identificador de menu (HMENU) do menu pop-up. O parâmetro nIDNewItem será ignorado (não necessário) se nFlags for definido como MF_SEPARATOR.
lpszNewItem
Especifica o conteúdo do novo item de menu. nFlags pode ser usado para interpretar lpszNewItem das seguintes maneiras:
| nFlags | Interpretação dos lpszNewItem |
| MF_OWNERDRAW | Contém um valor 32 bits fornecido do aplicativo que o aplicativo pode usar para manter dados adicionais associados com o item de menu. Esse valor de 32 bits está disponível para o aplicativo no itemData membro da estrutura fornecida pelo WM_MEASUREITEM e WM_DRAWITEM mensagens. Essas mensagens são enviadas quando o item de menu é exibido inicialmente ou é alterado. |
| MF_STRING | Contém um ponteiro longo para um seqüência de caracteres null-terminated. Esta é a interpretação do padrão. |
| MF_SEPARATOR | O parâmetro lpszNewItem é ignorado (não necessário). |
pBmp
Aponta para um objeto CBitmap que será usado como o item de menu.
Observações
Insere um novo menu item na posição especificada por nPosition e move outros itens para baixo no menu. O aplicativo pode especificar o estado do item de menu por configuração valores em nFlags.
Sempre que um menu que reside em uma janela é alterado (se ou não a janela é exibida), o aplicativo deve chamar CWnd:: DrawMenuBar.
Quando nIDNewItem especifica um menu pop-up, ele se torna parte do menu no qual ele está inserido. Se esse menu for destruído, o menu inserido também será destruído. Um menu inserido deve ser desanexado de um objeto de CMenu para evitar conflito.
Se o ativo que Múltiplo documento interface (MDI) filho janela está maximizada e um inserções de aplicativo um menu pop-up no menu do aplicativo MDI, chamar essa função e especificando o MF_BYPOSITION Sinalizar, o menu é inserida uma posição mais à esquerda do que o esperado. Isso acontece porque o menu controle da janela de filho MDI ativo é inserido na primeira posição da barra de menus da janela do quadro MDI. Para posicionar o menu corretamente, o aplicativo deve adicionar 1 ao valor posição que caso contrário seria usado. Um aplicativo pode usar a mensagem WM_MDIGETACTIVE para determinar se a janela filho ativo no momento está maximizada.
Visão geral de CMenu |nbsp; Membros de classe | Gráfico de hierarquia
Consulte tambémnbsp;CMenu:: AppendMenu, CWnd:: DrawMenuBar, CMenu::SetMenuItemBitmaps, CMenu::Detach, :: InsertMenu