Partilhar via


MESSAGE_HANDLER

Define uma entrada em um MAP da mensagem.

MESSAGE_HANDLER( 
      msg, 
      func  
)

Parâmetros

  • msg
    [in] Mensagem do Windows.

  • func
    [in] O nome da função de manipulador de mensagens.

Comentários

MESSAGE_HANDLER mapeia uma mensagem do Windows para a função de manipulador especificado.

Qualquer função especificada em um MESSAGE_HANDLER macro deve ser definida da seguinte maneira:

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

O MAP da mensagem define bHandled para TRUE before MessageHandler é chamado. If MessageHandler totalmente não manipula a mensagem, ele deve ser definido bHandled para FALSE para indicar a mensagem precisa processamento adicional.

Observação:

Sempre começam com um MAP da mensagem BEGIN_MSG_MAP.Em seguida, você pode declarar mensagem subseqüente alternativo mapas com ALT_MSG_MAP.The END_MSG_MAP macro marca o participante do MAP da mensagem.Cada MAP da mensagem deve ter exatamente uma instância de BEGIN_MSG_MAP e END_MSG_MAP.

Em adição a MESSAGE_HANDLER, você pode usar COMMAND_HANDLER and NOTIFY_HANDLER to map WM_COMMAND and WM_NOTIFY mensagens, respectivamente.

Para obter mais informações sobre o uso de 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 de MAP da mensagem (ATL)

Macros ATL