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_MAP 및 END_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