WM_COMMAND meddelande

Skickas när användaren anropar ett kommandoobjekt från en meny, när en kontroll skickar ett meddelande till det överordnade fönstret eller när en acceleratortangenttryckning översätts.

#define WM_COMMAND                      0x0111

Parameterar

wParam

En beskrivning av den här parametern finns i Anmärkningar.

lParam

En beskrivning av den här parametern finns i Anmärkningar.

Returvärde

Om ett program bearbetar det här meddelandet ska det returnera noll.

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;
}

Exempel taget från klassiska Windows-exempel på GitHub.

Anmärkningar

Här sammanfattas användningen av parametrarna wParam och lParam .

Meddelandekälla wParam (högt ord) wParam (lågt ord) lParam
Meny 0 Menyidentifierare (IDM_*) 0
Accelerator 1 Acceleratoridentifierare (IDM_*) 0
Control Kontrolldefinierad meddelandekod Kontrollidentifierare Hantera till kontrollfönstret

I de flesta fall är detta det meddelande som ska lyssnas efter när en användare anropar ett kommando i en meny. Men om en meny definieras med värdet MENUINFO.dwStyleför MNS_NOTIFYBYPOSskickas WM_MENUCOMMAND i stället för WM_COMMAND.

Om ett program aktiverar en menyavgränsare skickar systemet ett WM_COMMAND meddelande med det låga ordet för parametern wParam inställt på noll när användaren väljer avgränsaren.

Acceleratorer

Snabbtangenttryckningar som väljer objekt från fönstermenyn översätts till WM_SYSCOMMAND meddelanden.

Om en acceleratortangenttryckning inträffar som motsvarar ett menyalternativ när fönstret som äger menyn minimeras skickas inget WM_COMMAND meddelande. Men om en acceleratortangenttryckning inträffar som inte matchar något av objekten i fönstrets meny eller i fönstermenyn skickas ett WM_COMMAND meddelande, även om fönstret är minimerat.

Kravspecifikation

Krav Värde
Lägsta klient som stöds
Windows 2000 Professional [endast skrivbordsappar]
Lägsta server som stöds
Windows 2000 Server [endast skrivbordsappar]
Header
Winuser.h (inkludera Windows.h)

Se även

Referens

HIWORD

LOWORD

Konceptuell

Menyer