Mensaje WM_COMMAND
Definición
WM_COMMAND wNotifyCode = HIWORD(wParam); // código de notificación wID = LOWORD(wParam); // identificador de ítem, control, o acelerador hwndCtl = (HWND) lParam; // manipulador de control
El mensaje WM_COMMAND es enviado cuando el usuario selecciona un comando de un ítem de un menú, cuando un control envía un mensaje de notificación a su ventana padre, o cuando una pulsación de un acelerador es traducida.
Descripción
wNotifyCode: valor de la palabra de mayor peso de wParam. Especifica el código de notificación si el mensaje proviene de un control. Si el mensaje proviene de un acelerador, este parámetro es 1. Si el mensaje proviene de un menú, este parámetro es 0.
wID: valor de la palabra de menor peso de wParam. Especifica el identificador del ítem de menú, control, o acelerador.
hwndCtl: valor de lParam. Identifica el control que envía el mensaje, si el mensaje proviene de un control. En otro caso, este parámetro es NULL.
Valor de retorno
Si una aplicación procesa este mensaje, debe retornar con cero.
Observaciones
Los aceleradores de teclado que seleccionan ítems del menú de sistema son traducidos a mensajes WM_SYSCOMMAND.
Si se produce un acelerador de teclado que corresponde a un ítem de menú cuando la ventana a la que pertenece el menú está minimizada, no se enviará el mensaje WM_COMMAND. Sin embargo, si se produce un acelerador de teclado que no corresponde con ningún ítem de menú o de menú de sistema, el mensaje WM_COMMAND se enviará, aunque la ventana esté minimizada.
Si una aplicación habilita un separador de menú, el sistema envía un mensaje WM_COMMAND con la palabra de menor peso de wParam puesta a cero cuando el usuario selecciona el separador.