NOTIFY_HANDLER ( id, cd, func )
Parâmetros
identificação
[no] O identificador do Controlarar enviar a mensagem.
código
[no] O código de notificação.
func
[no] O nome da função mensagem-manipulador.
Observações
Define uma entrada em um mapa da mensagem. NOTIFY_HANDLER mapeia uma mensagem WM_NOTIFY para a função de manipulador especificado, com base no código de notificação e o identificador de Controlarar. Por exemplo
classe CMyClass:...
{
público:
nbsp; ...
BEGI&N_MSG_MAP(CMyClass)
NOTIFY_HANDLER (IDC_MYCTL, NM_CLICK, OnClick)
...
END_MSG_MAP()
/ / Quando um objeto CMyClass recebe uma WM_NOTIFY
/ / mensagem identificado por IDC_MYCTL e NM_CLICK,
/ / a mensagem é direcionada para CMyClass::OnClick
/ / para o processamento real.
LRESULT OnClick (...)
{ ... }
}
Qualquer função especificada em uma macro NOTIFY_HANDLER deve ser definida como segue:
LRESULT NotifyH&andler(int idCtrl, LPNMHDR pnmh, BOOLamp; bHandled)
Os conjuntos de mapa de mensagem bHandled para TRUE antes NotifyHandler é chamado. Se NotifyHandler totalmente não manipula a mensagem, ele deve definir bHandled como falso para indicar que a mensagem precisa processamento adicional.
&Notanbsp; Sempre começa um mapa da mensagem com BEGIN_MSG_MAP. Em seguida, você pode declare mapas de mensagem alternativa subseqüentes com ALT_MSG_MAP. A macro END_MSG_MAP marca o final do mapa da mensagem. Cada mapa da mensagem deve ter exatamente uma instância de BEGIN_MSG_MAP e END_MSG_MAP.
Além de NOTIFY_HANDLER, você pode usar MESSAGE_HANDLER para mapear uma mensagem WM_NOTIFY sem relação a um identificador ou código. Neste caso, MESSAGE_HANDLER(WM_NOTIFY, OnHandlerFunction) irá direcionar as mensagens de WM_NOTIFY aOnHandlerFunction.
Para obter mais informações sobre como usar mapas de mensagem no ATL, consulte Mensagem mapas no artigo "Classes de janela do ATL".
Ver também
NOTIFY_ID_HANDLER, NOTIFY_CODE_HANDLER, NOTIFY_RANGE_HANDLER, COMMAND_HANDLER