Condividi tramite


WM_COMMAND messaggio

Inviato quando l'utente richiama una voce di comando da un menu, quando un controllo invia un messaggio di notifica alla finestra padre o quando viene convertita una sequenza di tasti di scelta rapida.

#define WM_COMMAND                      0x0111

Parametri

wParam

Per una descrizione di questo parametro, vedere Osservazioni.

lParam

Per una descrizione di questo parametro, vedere Osservazioni.

Valore restituito

Se un'applicazione elabora questo messaggio, deve restituire 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;
}

Esempio tratto dagli esempi classici di Windows in GitHub.

Osservazioni:

L'uso dei parametri wParam e lParam è riepilogato qui.

Origine messaggio wParam (parola alta) wParam (parola bassa) lParam
Menù 0 Identificatore di menu (IDM_*) 0
Acceleratore 1 Identificatore dell'acceleratore (IDM_*) 0
Controllo Codice di notifica definito dal controllo Identificatore di controllo Handle per la finestra di controllo

Nella maggior parte dei casi, questo è il messaggio da ascoltare quando un utente richiama un comando in un menu. Tuttavia, se un menu viene definito con un valore MENUINFO.dwStyledi MNS_NOTIFYBYPOS, WM_MENUCOMMAND viene inviato invece di WM_COMMAND.

Se un'applicazione abilita un separatore di menu, il sistema invia un messaggio di WM_COMMAND con la parola bassa del parametro wParam impostato su zero quando l'utente seleziona il separatore.

Acceleratori

Le sequenze di tasti di scelta rapida che selezionano gli elementi dal menu della finestra vengono convertite in messaggi WM_SYSCOMMAND .

Se si verifica una sequenza di tasti di scelta rapida che corrisponde a una voce di menu quando la finestra proprietaria del menu è ridotta a icona, non viene inviato alcun messaggio WM_COMMAND . Tuttavia, se si verifica una sequenza di tasti di scelta rapida che non corrisponde ad alcun elemento nel menu della finestra o nel menu della finestra, viene inviato un messaggio WM_COMMAND , anche se la finestra è ridotta a icona.

Requisiti

Requisito Value
Client minimo supportato
Windows 2000 Professional [solo app desktop]
Server minimo supportato
Windows 2000 Server [solo app desktop]
Header
Winuser.h (include Windows.h)

Vedere anche

Riferimento

HIWORD

LOWORD

concettuale

Menu