NOTIFY_HANDLER ( id, cd, func )
Paramètres
id
[en] L'identificateur du contrôle l'envoi du message.
code
[en] Le code de notification.
func
[en] Le nom de la fonction gestionnaire de messages.
Remarques
Définit une entrée dans une carte message. Cartes de NOTIFY_HANDLER un message WM_NOTIFY à la fonction de gestionnaire d'événements spécifié, basé sur le code de notification et l'identificateur du contrôle. Par exemple
classe CMyClass:...
{
public :
nbsp ; ...
BEGI&N_MSG_MAP(CMyClass)
NOTIFY_HANDLER (IDC_MYCTL, NM_CLICK, OnClick)
...
END_MSG_MAP()
/ / Quand un objet CMyClass reçoit un WM_NOTIFY
/ / message identifié par IDC_MYCTL et NM_CLICK,
/ / le message est dirigé vers CMyClass::OnClick
et pour le traitement réel.
LRESULT OnClick (...)
{ ... }
}
Toute fonction spécifiée dans une macro NOTIFY_HANDLER doit définie comme suit:
LRESULT NotifyH&andler(int idCtrl, LPNMHDR pnmh, BOOLamp; bHandled)
Les jeux de carte message bHandled vrai avant NotifyHandler est appelée. Si NotifyHandler ne gère pas entièrement le message, il faut définir bHandled faux pour indiquer le message nécessite un traitement supplémentaire.
&Notenbsp ; Toujours commencer une carte message avec BEGIN_MSG_MAP. Vous pouvez ensuite déclarer message remplaçant les cartes avec ALT_MSG_MAP. La macro END_MSG_MAP marque la fin de la carte de message. Chaque carte message doit avoir exactement une instance de BEGIN_MSG_MAP et END_MSG_MAP.
En plus de NOTIFY_HANDLER, vous pouvez utiliser MESSAGE_HANDLER pour mapper un message WM_NOTIFY sans égard à un identificateur ou un code. Dans ce cas, MESSAGE_HANDLER(WM_NOTIFY, OnHandlerFunction) dirigera tous les messages WM_NOTIFY àOnHandlerFunction.
Pour plus d'informations sur l'utilisation des cartes message dans ATL, consultez Message des cartes dans l'article « Classes de fenêtre ATL. »
Les Macros ATL et fonctions globales
Voir aussi
NOTIFY_ID_HANDLER, NOTIFY_CODE_HANDLER, NOTIFY_RANGE_HANDLER, COMMAND_HANDLER