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çã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