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