다음을 통해 공유


공용 컨트롤에서 알림 받기

공용 컨트롤 사용자 입력과 같은 이벤트가 컨트롤에서 발생 하는 경우 부모 창에 알림 메시지를 보내는 자식 창입니다.

이러한 알림 메시지에 수행할 작업을 사용자가 수행 하려는 작업을 결정 하는 응용 프로그램에 의존 합니다.가장 일반적인 컨트롤 알림 메시지 보내기 WM_NOTIFY 메시지입니다.Windows 컨트롤으로 대부분의 알림 메시지 보내기 WM_COMMAND 메시지입니다.CWnd::OnNotify 에 대 한 처리기를 WM_NOTIFY 메시지입니다.와 마찬가지로 CWnd::OnCommand, 구현의 OnNotify 알림 메시지를 디스패치합니다 OnCmdMsg 에 메시지 맵 처리 합니다.알림 메시지 처리에 대 한 메시지 맵 엔트리는 ON_NOTIFY.자세한 내용은 기술 참고 61: ON_NOTIFY WM_NOTIFY 메시지.

또는 파생된 클래스 "메시지 리플렉션"을 사용 하 여 고유한 알림 메시지를 처리할 수 있습니다. 자세한 내용은 기술 참고 62: Windows 컨트롤에 대 한 메시지 리플렉션.

커서 위치에서 알림 메시지를 검색합니다.

경우에 따라 공용 컨트롤에서 특정 알림 메시지를 받을 때 커서의 현재 위치를 확인 하는 것이 유용 합니다.예를 들어, 공용 컨트롤을 받으면 현재 커서 위치를 결정 하는 데 도움이 될 수 있는 NM_RCLICK 알림 메시지입니다.

간단 하 게 호출 하 여이 작업을 수행 하는 방법은 CWnd::GetCurrentMessage.그러나이 메서드는 커서 위치 메시지를 보낼 때 검색 합니다.호출 해야 메시지를 보낸 후 커서 이동 된 때문에 CWnd::GetCursorPos 현재 커서 위치를 가져올 수 있습니다.

[!참고]

CWnd::GetCurrentMessage만 메시지 처리기 내에서 호출 해야 합니다.

알림 메시지 처리기 본문에 다음 코드를 추가 (예: NM_RCLICK):

CPoint cursorPos;
cursorPos.x = GetCurrentMessage()->pt.x;
cursorPos.y = GetCurrentMessage()->pt.y;

이 시점에서 마우스 커서 위치에 저장 되는 cursorPos 개체입니다.

참고 항목

참조

컨트롤 만들기 및 사용

개념

컨트롤 (MFC)