Compartir a través de


MESSAGE_HANDLER

Define una entrada en un mapa de mensajes.

MESSAGE_HANDLER( 
   msg, 
   func  
)

Parámetros

  • msg
    [in] mensaje de tareas de Windows.

  • func
    [in] El nombre de la función de controlador de mensajes.

Comentarios

MESSAGE_HANDLER asigna un mensaje de Windows a la función especificada del controlador.

Cualquier función especificada en una macro de MESSAGE_HANDLER se debe definir como sigue:

LRESULT MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);

Se llama a los conjuntos bHandled del mapa de mensajes a TRUE antes de MessageHandler .Si MessageHandler no controla totalmente el mensaje, debe establecer bHandled a FALSO para indicar que el mensaje necesita un procesamiento adicional.

[!NOTA]

Siempre se inicia un mapa de mensajes con BEGIN_MSG_MAP.Puede declarar entonces asigna alternativos subsiguientes del mensaje con ALT_MSG_MAP.La macro de END_MSG_MAP marca el final del mapa de mensajes.Cada mapa de mensajes debe tener exactamente una instancia de BEGIN_MSG_MAP y de END_MSG_MAP.

Además de MESSAGE_HANDLER, puede utilizar COMMAND_HANDLER y NOTIFY_HANDLER para asignar los mensajes de WM_COMMAND y de WM_NOTIFY , respectivamente.

Para obtener más información sobre cómo utilizar mapas de mensajes en ATL, vea Mapas de mensajes.

Ejemplo

class CMyBaseWindow : public CWindowImpl<CMyBaseWindow>
{
public:
   BEGIN_MSG_MAP(CMyBaseWindow)
      MESSAGE_HANDLER(WM_CREATE, OnCreate)
   END_MSG_MAP()

   // When a CMyBaseWindow object receives a WM_CREATE message, the message
   // is directed to CMyBaseWindow::OnCreate for the actual processing.
   LRESULT OnCreate(UINT /*nMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, 
      BOOL& /*bHandled*/)
   {
      return 0;   
   }
};

Requisitos

encabezado: atlwin.h

Vea también

Referencia

MESSAGE_RANGE_HANDLER

Otros recursos

Macros de mapa de mensajes (ATL)

Macros de ATL