Compartilhar via


WM_COMMAND mensagem

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 de acelerador é traduzido.

#define WM_COMMAND                      0x0111

Parâmetros

wParam

Para obter uma descrição desse parâmetro, consulte Comentários.

lParam

Para obter uma descrição desse parâmetro, consulte Comentários.

Valor de retorno

Se um aplicativo processar essa mensagem, ela 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 obtido de exemplos clássicos do Windows no GitHub.

Observações

O uso dos parâmetros wParam e lParam é resumido aqui.

Origem da mensagem wParam (palavra alta) wParam (palavra baixa) lParam
Menu 0 Identificador de menu (IDM_*) 0
Acelerador 1 Identificador de acelerador (IDM_*) 0
Controle Código de notificação definido pelo controle Identificador de controle Manipular para a janela de controle

Na maioria dos casos, essa é 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 WM_COMMAND com a palavra baixa do parâmetro wParam definido como zero quando o usuário selecionar o separador.

Aceleradores

Os pressionamentos de teclas de acelerador que selecionam itens no menu da janela são convertidos em mensagens WM_SYSCOMMAND .

Se ocorrer um pressionamento de teclas de acelerador que corresponda a um item de menu quando a janela que possui o menu for minimizada, nenhuma mensagem WM_COMMAND será enviada. No entanto, se ocorrer um pressionamento de teclas de acelerador que não corresponda a nenhum dos itens no menu da janela ou no menu da janela, uma mensagem WM_COMMAND será enviada, mesmo que a janela seja minimizada.

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
Winuser.h (inclua Windows.h)

Consulte também

Referência

HIWORD

LOWORD

Conceitual

Menus