MESSAGE_HANDLER
Definisce una voce in una mappa dei messaggi.
MESSAGE_HANDLER(
msg,
func
)
Parametri
msg
[in] il messaggio di Windows.func
[in] il nome della funzione di gestore.
Note
MESSAGE_HANDLER esegue il mapping di un messaggio di Windows alla funzione di gestione specificata.
Qualsiasi funzione specificata in una macro MESSAGE_HANDLER deve essere definita come segue:
LRESULT MessageHandler(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled);
Imposta bHandled della mappa messaggi a TRUE prima MessageHandler viene chiamato.Se MessageHandler completamente non gestisce il messaggio, deve impostare bHandled a FALSE per indicare un'ulteriore elaborazione delle necessità del messaggio.
[!NOTA]
Inizia sempre una mappa messaggi con BEGIN_MSG_MAP.È quindi possibile dichiarare le mappe messaggi alternate successive con ALT_MSG_MAP.La macro END_MSG_MAP contrassegna la fine della mappa messaggi.Ogni mappa messaggi deve contenere esattamente un'istanza BEGIN_MSG_MAP e END_MSG_MAP.
Oltre a MESSAGE_HANDLER, è possibile utilizzare COMMAND_HANDLER e NOTIFY_HANDLER per eseguire il mapping dei messaggi WM_NOTIFY e WM_COMMAND, rispettivamente.
Per ulteriori informazioni sull'utilizzo delle mappe dei messaggi in ATL, vedere Mappe messaggi.
Esempio
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;
}
};
Requisiti
Header: atlwin.h