Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Acrescenta um novo item ao final da barra de menus, menu suspenso, submenu ou menu de atalho especificados. Você pode usar essa função para especificar o conteúdo, a aparência e o comportamento do item de menu.
Sintaxe
BOOL AppendMenuW(
[in] HMENU hMenu,
[in] UINT uFlags,
[in] UINT_PTR uIDNewItem,
[in, optional] LPCWSTR lpNewItem
);
Parâmetros
[in] hMenu
Tipo: HMENU
Um identificador para a barra de menus, menu suspenso, submenu ou menu de atalho a ser alterado.
[in] uFlags
Tipo: UINT
Controla a aparência e o comportamento do novo item de menu. Esse parâmetro pode ser uma combinação dos seguintes valores.
| Valor | Significado |
|---|---|
|
Usa um bitmap como o item de menu. O parâmetro lpNewItem contém um identificador para o bitmap. |
|
Coloca uma marca de marcar ao lado do item de menu. Se o aplicativo fornecer bitmaps de marca marcar (consulte SetMenuItemBitmaps, esse sinalizador exibirá o bitmap de marca de marcar ao lado do item de menu. |
|
Desabilita o item de menu para que ele não possa ser selecionado, mas o sinalizador não o cinza. |
|
Habilita o item de menu para que ele possa ser selecionado e o restaura de seu estado esmaecido. |
|
Desabilita o item de menu e o cinza para que ele não possa ser selecionado. |
|
Funciona da mesma forma que o sinalizador MF_MENUBREAK para uma barra de menus. Para um menu suspenso, submenu ou menu de atalho, a nova coluna é separada da coluna antiga por uma linha vertical. |
|
Coloca o item em uma nova linha (para uma barra de menus) ou em uma nova coluna (para um menu suspenso, submenu ou menu de atalho) sem separar colunas. |
|
Especifica que o item é um item desenhado pelo proprietário. Antes que o menu seja exibido pela primeira vez, a janela proprietária do menu recebe uma mensagem WM_MEASUREITEM para recuperar a largura e a altura do item de menu. A mensagem WM_DRAWITEM é enviada para o procedimento de janela da janela do proprietário sempre que a aparência do item de menu deve ser atualizada. |
|
Especifica que o item de menu abre um menu suspenso ou submenu. O parâmetro uIDNewItem especifica um identificador para o menu suspenso ou submenu. Esse sinalizador é usado para adicionar um nome de menu a uma barra de menus ou um item de menu que abre um submenu em um menu suspenso, submenu ou menu de atalho. |
|
Desenha uma linha divisória horizontal. Esse sinalizador é usado apenas em um menu suspenso, submenu ou menu de atalho. A linha não pode ser esmaeçada, desabilitada ou realçada. Os parâmetros lpNewItem e uIDNewItem são ignorados. |
|
Especifica que o item de menu é uma cadeia de caracteres de texto; o parâmetro lpNewItem é um ponteiro para a cadeia de caracteres. |
|
Não coloca uma marca de marcar ao lado do item (padrão). Se o aplicativo fornecer bitmaps de marca marcar (consulte SetMenuItemBitmaps), esse sinalizador exibirá o bitmap claro ao lado do item de menu. |
[in] uIDNewItem
Tipo: UINT_PTR
O identificador do novo item de menu ou, se o parâmetro uFlags estiver definido como MF_POPUP, um identificador para o menu suspenso ou submenu.
[in, optional] lpNewItem
Tipo: LPCTSTR
O conteúdo do novo item de menu. A interpretação de lpNewItem depende se o parâmetro uFlags inclui os valores a seguir.
| Valor | Significado |
|---|---|
|
Contém um identificador de bitmap. |
|
Contém um valor fornecido pelo aplicativo que pode ser usado para manter dados adicionais relacionados ao item de menu. O valor está no membro itemData da estrutura apontada pelo parâmetro lParam do WM_MEASUREITEM ou WM_DRAWITEM mensagem enviada quando o menu é criado ou sua aparência é atualizada. |
|
Contém um ponteiro para uma cadeia de caracteres terminada em nulo. |
Valor retornado
Tipo: BOOL
Se a função for bem-sucedida, o valor retornado será diferente de zero. Se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError.
Comentários
O aplicativo deve chamar a função DrawMenuBar sempre que um menu for alterado, independentemente de o menu estar em uma janela exibida.
Para que os aceleradores de teclado funcionem com itens de menu desenhados pelo proprietário ou bitmap, o proprietário do menu deve processar a mensagem WM_MENUCHAR . Para obter mais informações, consulte Menus desenhados pelo proprietário e a mensagem de WM_MENUCHAR.
Os seguintes grupos de sinalizadores não podem ser usados juntos:
- MF_BITMAP, MF_STRING e MF_OWNERDRAW
- MF_CHECKED e MF_UNCHECKED
- MF_DISABLED, MF_ENABLED e MF_GRAYED
- MF_MENUBARBREAK e MF_MENUBREAK
Exemplos
Para obter um exemplo, consulte Adicionando linhas e grafos a um menu.
Observação
O cabeçalho winuser.h define AppendMenu como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante de pré-processador UNICODE. Misturar o uso do alias neutro de codificação com código que não seja neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Convenções para protótipos de função.
Requisitos
| Cliente mínimo com suporte | Windows 2000 Professional [somente aplicativos da área de trabalho] |
| Servidor mínimo com suporte | Windows 2000 Server [somente aplicativos da área de trabalho] |
| Plataforma de Destino | Windows |
| Cabeçalho | winuser.h (inclua Windows.h) |
| Biblioteca | User32.lib |
| DLL | User32.dll |
| Conjunto de APIs | ext-ms-win-ntuser-menu-l1-1-0 (introduzido no Windows 8) |
Confira também
Conceitual
Referência