Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Enviado para a janela de 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 de 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 do submenu no menu principal e o parâmetro lParam conterá o identificador para o menu principal; use a função GetSubMenu para obter o identificador de menu para o menu suspenso ou submenu.
A palavra de alta ordem especifica um ou mais sinalizadores de menu. Esse parâmetro pode ser um ou mais dos valores a seguir.
Value Meaning - MF_BITMAP
- 0x00000004L
O item exibe um bitmap. - MF_CHECKED
- 0x00000008L
O item está marcado. - MF_DISABLED
- 0x00000002L
O item está desabilitado. - MF_GRAYED
- 0x00000001L
O item está esmaecido. - MF_HILITE
- 0x00000080L
O item está realçado. - 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
-
Um identificador para o menu principal.
Valor de retorno
Se um aplicativo processar essa mensagem, ela deverá retornar zero.
Observações
Essa mensagem é enviada para a janela de proprietário de um menu quando o usuário seleciona um item de menu em um menu aberto, normalmente por navegação por mouse ou 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. Essa 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 do menu. Use essas mensagens para executar uma ação quando o comando selecionado for invocado.
Se a palavra de alta ordem do wParam contiver 0xFFFF e o parâmetro lParam contiver NULL, o sistema fechará o menu.
Não use o valor -1 para a palavra de alta ordem do wParam, pois esse valor é especificado como (UINT) HIWORD(wParam). Embora 0xFFFF possa ser interpretado como -1 em contextos assinados, se o valor for 0xFFFF, ele será interpretado como 0x0000FFFF, não -1, por causa da conversão para um UINT.
Por exemplo, esse 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;
}
Requirements
| Requirement | Value |
|---|---|
| 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] |
| Header |
|
Consulte também
-
Referência
-
Conceitual