NOTIFY_HANDLER

定义消息映射中的项。

NOTIFY_HANDLER( 
   id, 
   cd, 
   func  
)

参数

  • id
    [in]发送消息的控件的标识符。

  • cd
    [in]通知代码。

  • func
    [in]消息处理函数的名称。

备注

NOTIFY_HANDLER 映射到 WM_NOTIFY 消息到指定的处理程序函数,根据通知代码和控件标识符。

必须定义在 NOTIFY_HANDLER 宏指定的所有函数:

LRESULT NotifyHandler(int idCtrl, LPNMHDR pnmh, BOOL& bHandled);

在 NotifyHandler 调用之前,消息映射设置 bHandled 到 TRUE。 如果 NotifyHandler 不完全处理消息,则应设置 bHandled 到 FALSE 指示消息需要进一步处理。

备注

BEGIN_MSG_MAP始终启动消息映射。您可以声明与 ALT_MSG_MAP的后续替换消息映射。END_MSG_MAP 宏指示消息映射的结尾。每个消息映射必须正好包含 BEGIN_MSG_MAPEND_MSG_MAP一个实例。

除了 NOTIFY_HANDLER外,还可以使用 MESSAGE_HANDLER 映射 WM_NOTIFY 消息不考虑标识符或代码。 在这种情况下,MESSAGE_HANDLER(WM_NOTIFY, OnHandlerFunction) 将处理所有 WM_NOTIFY 消息。OnHandlerFunction。

有关使用的更多信息消息在ATL映射,请参见 消息映射

示例

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*/);
};

要求

Header: atlwin.h

请参见

参考

NOTIFY_ID_HANDLER

NOTIFY_CODE_HANDLER

REFLECTED_NOTIFY_CODE_HANDLER

NOTIFY_RANGE_HANDLER

COMMAND_HANDLER

其他资源

消息映射宏(ATL)

ATL 宏