CMenu

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

Index