共用方式為


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);

的訊息對應集合 bHandled 在 NotifyHandler 之前呼叫。 如果 NotifyHandler 不完全處理訊息,應該將 bHandled 至 表示訊息需要進一步處理。

注意事項注意事項

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 巨集