NOTIFY_HANDLER
Define una entrada en un mapa de mensajes.
NOTIFY_HANDLER(
id,
cd,
func
)
Parámetros
id
[in] identificador del control que envía el mensaje.cd
[in] El código de notificación.func
[in] El nombre de la función de controlador de mensajes.
Comentarios
NOTIFY_HANDLER asigna un mensaje de WM_NOTIFY a la función especificada de controlador, basándose en el código de notificación y el identificador de control.
Cualquier función especificada en una macro de NOTIFY_HANDLER se debe definir como sigue:
LRESULT NotifyHandler(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);
Se llama a los conjuntos bHandled del mapa de mensajes a TRUE antes de NotifyHandler .Si NotifyHandler no controla totalmente el mensaje, debe establecer bHandled a FALSO para indicar que el mensaje necesita un procesamiento adicional.
[!NOTA]
Siempre se inicia un mapa de mensajes con BEGIN_MSG_MAP.Puede declarar entonces asigna alternativos subsiguientes del mensaje con ALT_MSG_MAP.La macro de END_MSG_MAP marca el final del mapa de mensajes.Cada mapa de mensajes debe tener exactamente una instancia de BEGIN_MSG_MAP y de END_MSG_MAP.
Además de NOTIFY_HANDLER, puede utilizar MESSAGE_HANDLER para asignar un mensaje de WM_NOTIFY sin tener en cuenta un identificador o código.En este caso, MESSAGE_HANDLER(WM_NOTIFY, OnHandlerFunction) ejecutará todos los mensajes de WM_NOTIFY a OnHandlerFunction.
Para obtener más información sobre cómo utilizar mapas de mensajes en ATL, vea Mapas de mensajes.
Ejemplo
class CMyDialog2 : public CDialogImpl<CMyDialog2>
{
public:
enum { IDD = IDD_MYDLG };
BEGIN_MSG_MAP(CMyDialog2)
NOTIFY_HANDLER(IDC_TREE1, NM_CLICK, OnNMClickTree1)
END_MSG_MAP()
public:
// When a CMyDialog2 object receives a WM_NOTIFY message
// identified by IDC_TREE1 and NM_CLICK, the message is
// directed to CMyDialog2::OnNMClickTree1 for the actual
// processing.
LRESULT OnNMClickTree1(int /*idCtrl*/, LPNMHDR pNMHDR, BOOL& /*bHandled*/);
};
Requisitos
encabezado: atlwin.h