NOTIFY_HANDLER ( id, cd, func )
Parametri
identificazione
[in] L'identificatore del controllo l'invio del messaggio.
codice
[in] Il codice di notifica.
func
[in] Il nome della funzione di gestione dei messaggi.
Osservazioni
Definisce una voce in una mappa messaggi. Mappe NOTIFY_HANDLER un messaggio WM_NOTIFY alla funzione gestore specificato, basato sul codice di notifica e l'identificatore del controllo. Ad esempio
classe CMyClass:...
{
pubblica:
nbsp; ...
BEGI&N_MSG_MAP(CMyClass)
NOTIFY_HANDLER (IDC_MYCTL, NM_CLICK, OnClick)
...
END_MSG_MAP()
/ / Quando un oggetto CMyClass riceve un WM_NOTIFY
/ / messaggio identificato da IDC_MYCTL e NM_CLICK,
/ / il messaggio è diretto a CMyClass::OnClick
/ / per l'elaborazione effettiva.
LRESULT OnClick (…).
{ ... }
}
Qualsiasi funzione specificata in una macro NOTIFY_HANDLER deve definito come segue:
LRESULT NotifyH&andler(int idCtrl, LPNMHDR pnmh, BOOLamp; bHandled)
I set di mappa del messaggio bHandled su TRUE prima di NotifyHandler viene chiamato. Se NotifyHandler 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 NOTIFY_HANDLER, è possibile utilizzare MESSAGE_HANDLER per mappare un messaggio WM_NOTIFY senza tenere conto di un identificatore o codice. In questo caso, MESSAGE_HANDLER(WM_NOTIFY, OnHandlerFunction) sarà diretto tutti i messaggi WM_NOTIFY perOnHandlerFunction.
Per ulteriori informazioni sull'utilizzo di mappe messaggi in ATL, vedere Mappe messaggio nell'articolo "Classi finestra ATL."
Vedi anche
NOTIFY_ID_HANDLER, NOTIFY_CODE_HANDLER, NOTIFY_RANGE_HANDLER, COMMAND_HANDLER