다음을 통해 공유


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 에 TRUE 전에 NotifyHandler 라고 합니다.경우 NotifyHandler 메시지를 완전히 처리 하지 않는 설정 해야 bHandled 에 FALSE 필요 합니다 라는 메시지가 더 이상 처리를 나타냅니다.

[!참고]

항상 메시지 맵을 시작 BEGIN_MSG_MAP.에서는 다음 후속 대체 메시지 맵을 사용 하 여 선언할 수 있습니다 ALT_MSG_MAP.END_MSG_MAP 매크로 메시지 맵의 끝을 표시 합니다.모든 메시지 맵에서의 인스턴스를 하나만 있어야 합니다. BEGIN_MSG_MAPEND_MSG_MAP.

외에 NOTIFY_HANDLER를 사용할 수 있습니다 MESSAGE_HANDLER 매핑하는 WM_NOTIFY 메시지 id 또는 코드에 관계 없이.이 경우 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*/);
};

요구 사항

헤더: atlwin.h

참고 항목

참조

NOTIFY_ID_HANDLER

NOTIFY_CODE_HANDLER

REFLECTED_NOTIFY_CODE_HANDLER

NOTIFY_RANGE_HANDLER

COMMAND_HANDLER

기타 리소스

메시지 맵 매크로 (ATL)

ATL 매크로