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 quando o usuário invoca um item de comando de um menu, quando um controle envia uma mensagem de notificação para sua janela pai ou quando um pressionamento de tecla acelerador é traduzido.
#define WM_COMMAND 0x0111
Parâmetros
-
wParam
-
Para obter uma descrição desse parâmetro, consulte Observações.
-
lParam
-
Para obter uma descrição desse parâmetro, consulte Observações.
Valor de retorno
Se um aplicativo processar essa mensagem, ele deverá retornar zero.
Example
BOOL AboutDlg (
HWND hDlg,
UINT message,
WPARAM wParam,
LPARAM lParam)
{
BOOL bRet = FALSE;
switch (message)
{
case WM_INITDIALOG:
bRet = TRUE;
break;
case WM_COMMAND:
if (wParam == IDOK ||
wParam == IDCANCEL)
{
EndDialog(hDlg, TRUE);
bRet = TRUE;
}
break;
}
return bRet;
}
Exemplo retirado de exemplos clássicos do Windows no GitHub.
Observações
O uso dos parâmetros wParam e lParam são resumidos aqui.
| Origem da mensagem | wParam (palavra alta) | wParam (palavra baixa) | lParam |
|---|---|---|---|
| Menu | 0 | Identificador de menu (IDM_*) | 0 |
| Acelerador | 1 | Identificador do acelerador (IDM_*) | 0 |
| Controlo | Código de notificação definido pelo controle | Identificador de controlo | Manipular para a janela de controle |
Ementas
Na maioria dos casos, esta é a mensagem a ser ouvida quando um usuário invoca um comando em um menu. No entanto, se um menu for definido com um valor MENUINFO.dwStyle de MNS_NOTIFYBYPOS, WM_MENUCOMMAND será enviado em vez de WM_COMMAND.
Se um aplicativo habilitar um separador de menu, o sistema enviará uma mensagem de WM_COMMAND com a palavra baixa do parâmetro wParam definida como zero quando o usuário seleciona o separador.
Aceleradores
As teclas do acelerador que selecionam itens do menu da janela são traduzidas em mensagens WM_SYSCOMMAND .
Se ocorrer um pressionamento de tecla acelerador que corresponda a um item de menu quando a janela proprietária do menu for minimizada, nenhuma mensagem WM_COMMAND será enviada. No entanto, se ocorrer um pressionamento de tecla acelerador que não corresponda a nenhum dos itens no menu da janela ou no menu da janela, uma mensagem de WM_COMMAND será enviada, mesmo que a janela seja minimizada.
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 |
|