WM_COMMAND messaggio

Inviato quando l'utente seleziona 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.

Esempio

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
Menu 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

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

Se un menu viene definito con un valore MENUINFO.dwStyle di MNS_NOTIFYBYPOS, WM_MENUCOMMAND viene inviato invece di WM_COMMAND.

Acceleratori

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

Se si verifica una sequenza di tasti di scelta rapida che corrisponde a una voce di menu quando la finestra proprietaria del menu viene 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 alcuno degli elementi nel menu della finestra o nel menu della finestra, viene inviato un messaggio WM_COMMAND , anche se la finestra è ridotta a icona.

Requisiti

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

Vedi anche

Riferimento

HIWORD

LOWORD

Concettuale

Menu