NOTIFY_HANDLER

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".

ATL Macros e funções Global

Ver também

NOTIFY_ID_HANDLER, NOTIFY_CODE_HANDLER, NOTIFY_RANGE_HANDLER, COMMAND_HANDLER

Index