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.
Enviado para a janela do proprietário de um menu quando o usuário seleciona um item de menu.
#define WM_MENUSELECT 0x011F
Parâmetros
-
wParam
-
A palavra de ordem baixa especifica o item de menu ou o índice do submenu. Se o item selecionado for um item de comando, esse parâmetro conterá o identificador do item de menu. Se o item selecionado abrir um menu suspenso ou submenu, esse parâmetro conterá o índice do menu suspenso ou submenu no menu principal e o parâmetro lParam conterá o identificador do menu principal; use a função GetSubMenu para obter o identificador de menu para o menu suspenso ou submenu.
A palavra de ordem alta especifica um ou mais sinalizadores de menu. Este parâmetro pode ser um ou mais dos seguintes valores.
Valor Meaning - MF_BITMAP
- 0x00000004L
O item exibe um bitmap. - MF_CHECKED
- 0x00000008L
O item está marcado. - MF_DISABLED
- 0x00000002L
O item está desativado. - MF_GRAYED
- 0x00000001L
O item está acinzentado. - MF_HILITE
- 0x00000080L
O item está em destaque. - MF_MOUSESELECT
- 0x00008000L
O item é selecionado com o mouse. - MF_OWNERDRAW
- 0x00000100L
Item é um item desenhado pelo proprietário. - MF_POPUP
- 0x00000010L
O item abre um menu suspenso ou submenu. - MF_SYSMENU
- 0x00002000L
O item está contido no menu da janela. O parâmetro lParam contém um identificador para o menu associado à mensagem. -
lParam
-
Uma alça para o menu principal.
Valor de retorno
Se um aplicativo processar essa mensagem, ele deverá retornar zero.
Observações
Essa mensagem é enviada para a janela do proprietário de um menu quando o usuário seleciona um item de menu em um menu aberto, geralmente por navegação com o mouse ou pelo teclado. Se o menu estiver fechado, essa mensagem não será enviada quando o usuário mover o mouse sobre um item de menu de nível superior. Esta mensagem é enviada somente depois que o menu é aberto pelo usuário clicando em um item de menu de nível superior ou pressionando a tecla ALT .
Importante
Quando um usuário clica em um item de menu ou pressiona Enter para invocar um item de menu selecionado, uma mensagem WM_COMMAND ou WM_MENUCOMMAND é enviada para a janela, dependendo do valor do membro dwStyle da estrutura MENUINFO para o menu. Use essas mensagens para executar uma ação quando o comando selecionado for invocado.
Se a palavra de alta ordem de wParam contiver 0xFFFF e o parâmetro lParam contiver NULL, o sistema fechou o menu.
Não use o valor -1 para a palavra de ordem alta de wParam, porque esse valor é especificado como (UINT)HIWORD(wParam). Mesmo que 0xFFFF possa ser interpretado como -1 em contextos assinados, se o valor for 0xFFFF, ele será interpretado como 0x0000FFFF, não -1, por causa do elenco para um UINT.
Por exemplo, este código verifica se há 0xFFFF, não -1:
case WM_MENUSELECT:
{
UINT menuItem = LOWORD(wParam);
UINT flags = HIWORD(wParam);
HMENU hMenu = (HMENU)lParam;
// Check for 0xFFFF, not -1.
if (flags == 0xFFFF && hMenu == NULL) {
// No menu item selected (menu closed).
// ...
}
break;
}
Requerimentos
| Requisito | Valor |
|---|---|
| Cliente mínimo suportado |
Windows 2000 Professional [apenas aplicações de ambiente de trabalho] |
| Servidor mínimo suportado |
Windows 2000 Server [apenas aplicações de ambiente de trabalho] |
| Header |
|
Consulte também
-
Referência
-
Conceptual