MESSAGE_HANDLER ( msg, func )
Parametri
msg
[in] Il messaggio di Windows.
func
[in] Il nome della funzione di gestione dei messaggi.
Osservazioni
Definisce una voce in una mappa messaggi. MESSAGE_HANDLER esegue il mapping alla funzione gestore specificato un messaggio di Windows. Ad esempio:
classe CMyClass:...
{
pubblica:
nbsp; ...
BEGI&N_MSG_MAP(CMyClass)
MESSAGE_HANDLER (WM_PAINT, OnPaint)
...
END_MSG_MAP()
/ / Quando un oggetto CMyClass riceve un WM_PAINT
/ / messaggio, il messaggio č indirizzato ad
/ / CMyClass::OnPaint per l'effettiva trasformazione.
LRESULT OnPaint (…).
{ ... }
}
Qualsiasi funzione specificata in una macro MESSAGE_HANDLER deve definito come segue:
LRESULT MessageHandler(UINT uMsg, WP&ARAM wParam, LPARAM lParam, BOOLamp; bHandled)
I set di mappa del messaggio bHandled su TRUE prima di MessageHandler viene chiamato. Se MessageHandler non gestisce completamente il messaggio, č necessario impostare bHandled su FALSE per indicare che il messaggio richiede ulteriore elaborazione.
&Notanbsp; Iniziare sempre una mappa messaggi con BEGIN_MSG_MAP. Č possibile dichiarare le mappe successivo messaggio alternativo con ALT_MSG_MAP. La macro END_MSG_MAP segna la fine della mappa messaggi. Ogni mappa dei messaggi deve avere esattamente un'istanza di BEGIN_MSG_MAP ed END_MSG_MAP.
Oltre a MESSAGE_HANDLER, č possibile utilizzare COMMAND_HANDLER e NOTIFY_HANDLER per mappare WM_COMMAND e WM_NOTIFY messaggi, rispettivamente.
Per ulteriori informazioni sull'utilizzo di mappe messaggi in ATL, vedere Mappe messaggio nell'articolo "Classi finestra ATL."
Vedi anche