NOTIFY_HANDLER
Define uma entrada em um mapa de mensagem.
NOTIFY_HANDLER(
id,
cd,
func
)
Parâmetros
id
[in] o identificador do controle que envia a mensagem.cd
[in] o código de notificação.func
[in] o nome da função de mensagem- manipulador.
Comentários
NOTIFY_HANDLER mapeia uma mensagem de WM_NOTIFY à função especificada do manipulador, com base no código de notificação e o identificador de controle.
Qualquer função especificada em uma macro de NOTIFY_HANDLER deve ser definida como segue:
LRESULT NotifyHandler(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);
Os conjuntos bHandled do mapa da mensagem Verdadeiro antes de NotifyHandler são chamados.Se NotifyHandler não trata totalmente a mensagem, deve definir bHandled a Falso para indicar a adicional das necessidades de mensagem.
Observação |
---|
Inicie sempre um mapa de mensagem com BEGIN_MSG_MAP.Você pode declarar em mapas alternativos subseqüentes de mensagem com ALT_MSG_MAP.A macro de END_MSG_MAP marca ao final do mapa de mensagem.Cada mapa de mensagem deve ter exatamente uma instância de BEGIN_MSG_MAP e de END_MSG_MAP. |
Além de NOTIFY_HANDLER, você pode usar MESSAGE_HANDLER para mapear uma mensagem de WM_NOTIFY sem consideração a um identificador ou um código.Em esse caso, MESSAGE_HANDLER(WM_NOTIFY, OnHandlerFunction) direcionará todas as mensagens de WM_NOTIFY a OnHandlerFunction.
Para obter mais informações sobre como usar mapas de mensagem em ATL, consulte Mapas de mensagem.
Exemplo
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
Cabeçalho: atlwin.h