NOTIFY_HANDLER
Define uma entrada em um MAP da mensagem.
NOTIFY_HANDLER(
id,
cd,
func
)
Parâmetros
id
[in] O identificador do controle enviar a mensagem.cd
[in] O código de notificação.func
[in] O nome da função de manipulador de mensagens.
Comentários
NOTIFY_HANDLER mapeia um WM_NOTIFY mensagem para a função de manipulador especificado, com base no código de notificação e o identificador de controle.
Qualquer função especificada em um NOTIFY_HANDLER macro deve ser definida da seguinte maneira:
LRESULT NotifyHandler(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);
O MAP da mensagem define bHandled para TRUE before NotifyHandler é chamado. If NotifyHandler totalmente não manipula a mensagem, ele deve ser definido bHandled para FALSE para indicar a mensagem precisa processamento adicional.
Observação: |
---|
Sempre começam com um MAP da mensagem BEGIN_MSG_MAP.Em seguida, você pode declarar mensagem subseqüente alternativo mapas com ALT_MSG_MAP.The END_MSG_MAP macro marca o participante do MAP da mensagem.Cada MAP da mensagem deve ter exatamente uma instância de BEGIN_MSG_MAP e END_MSG_MAP. |
Em adição a NOTIFY_HANDLER, você pode usar MESSAGE_HANDLER to map a WM_NOTIFY mensagem sem considerar a um identificador ou código.Nesse caso, MESSAGE_HANDLER(WM_NOTIFY, OnHandlerFunction) direcionará todas WM_NOTIFY mensagens de OnHandlerFunction.
Para obter mais informações sobre o uso de 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