COMMAND_HANDLER ( id de, código, func )
Parámetros
id.
[en] El identificador del elemento de menú, control o acelerador.
código
[en] El código de notificación.
func
[en] El nombre de la función de controlador de mensajes.
Observaciones
Define una entrada en un mapa de mensajes. Mapas de COMMAND_HANDLER un mensaje WM_COMMAND a la función de controlador especificado, basado en el código de notificación y el identificador del control. Por ejemplo
clase CMyClass:...
{
público:
nbsp; ...
BEGI&N_MSG_MAP(CMyClass)
COMMAND_HANDLER (IDC_MYCTL, EN_CHANGE, OnChange)
...
END_MSG_MAP()
/ / Cuando un objeto CMyClass recibe un WM_COMMAND
/ / mensaje identificado por IDC_MYCTL y EN_CHANGE,
/ / el mensaje está dirigido a CMyClass::OnChange
/ / para la transformación real.
LRESULT OnChange (...)
{ ... }
}
Cualquier función especificada en una macro COMMAND_HANDLER debe definir como sigue:
LRESULT Comm&andHandler(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOLamp; bHandled)
El mensaje mapa establece bHandled en TRUE antes de CommandHandler se llama. Si CommandHandler no controla plenamente el mensaje, debe establecer bHandled en FALSE para indicar el mensaje necesita más procesamiento.
&Notanbsp; Siempre empezar un mapa de mensajes con BEGIN_MSG_MAP. A continuación, puede declarar posterior mensaje alterno mapas con ALT_MSG_MAP. La macro END_MSG_MAP marca el final de la ruta de mensaje. Cada mapa de mensajes debe tener exactamente una instancia de BEGIN_MSG_MAP y END_MSG_MAP.
Además de COMMAND_HANDLER, puede utilizar MESSAGE_HANDLER para asignar un mensaje WM_COMMAND sin relación con un código o identificador. En este caso, MESSAGE_HANDLER(WM_COMMAND, OnHandlerFunction) dirigirá todos los mensajes WM_COMMANDOnHandlerFunction.
Para obtener más información acerca del uso de mapas de mensajes en ATL, vea Mapas de mensaje en el artículo "Clases de ventana ATL".
ATL Macros y funciones globales
Véase también
COMMAND_ID_HANDLER, COMMAND_CODE_HANDLER, COMMAND_RANGE_HANDLER, NOTIFY_HANDLER