Partilhar via


MESSAGE_HANDLER

Define uma entrada em um mapa de mensagem.

MESSAGE_HANDLER( 
   msg, 
   func  
)

Parâmetros

  • msg
    [in] a mensagem do windows.

  • func
    [in] o nome da função de mensagem- manipulador.

Comentários

MESSAGE_HANDLER mapeia uma mensagem do windows à função especificada do manipulador.

Qualquer função especificada em uma macro de MESSAGE_HANDLER deve ser definida como segue:

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

Os conjuntos bHandled do mapa da mensagem Verdadeiro antes de MessageHandler são chamados.Se MessageHandler não trata totalmente a mensagem, deve definir bHandled a Falso para indicar a adicional das necessidades de mensagem.

ObservaçãoObservação

Inicie sempre um mapa de mensagem com BEGIN_MSG_MAP.Você pode declarar em mapas alternativos subseqüentes de mensagem com ALT_MSG_MAP.A macro de END_MSG_MAP marca ao final do mapa de mensagem.Cada mapa de mensagem deve ter exatamente uma instância de BEGIN_MSG_MAP e de END_MSG_MAP.

Além de MESSAGE_HANDLER, você pode usar COMMAND_HANDLER e NOTIFY_HANDLER para mapear mensagens de WM_COMMAND e de WM_NOTIFY , respectivamente.

Para obter mais informações sobre como usar mapas de mensagem em ATL, consulte Mapas de mensagem.

Exemplo

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

Cabeçalho: atlwin.h

Consulte também

Referência

MESSAGE_RANGE_HANDLER

Outros recursos

Macros do mapa de mensagens (ATL)

Macros de ATL