COMMAND_HANDLER ( id, 코드, func )
매개 변수
id
[in] 메뉴 항목, 컨트롤 또는 가속기의 식별자。
코드
[in] 알림 코드。
func
[in] 메시지 처리기 함수의 이름。
주의
메시지 맵에 항목을 정의합니다. COMMAND_HANDLER 지도 지정 된 처리기 함수를 WM_COMMAND 메시지 알림 코드와 컨트롤 식별자에 기반 합니다. 예를 들어
클래스 CMyClass:...
{
공개:
nbsp; ...
BEGIN_MSG_MAP(CMyClass)
???? COMMAND_HANDLER (IDC_MYCTL, EN_CHANGE, OnChange)
???? ...
? END_MSG_MAP()
/ / CMyClass 개체는 WM_COMMAND를 수신 하는 경우
? / / 메시지 IDC_MYCTL 및 EN_CHANGE, 식별
? / / 메시지 CMyClass::OnChange 감독
? / / 실제 처리에 대 한.
? LRESULT OnChange (...)
? { ... }
}(&N)
COMMAND_HANDLER 매크로에 지정 된 함수는 다음과 같이 정의 해야 합니다.:
LRESULT CommandHandler(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOLamp; bHandled)(&A)
메시지 맵 집합 bHandled 사실 전에 CommandHandler 라고 합니다. 만약 CommandHandler 완전히 메시지를 처리 하지 않습니다 설정 해야 bHandled FALSE 나타내려면 메시지 처리 필요。
메모nbsp;??항상 BEGIN_MSG_MAP함께 메시지 맵을 시작 합니다. 그런 다음 후속 대체 메시지 ALT_MSG_MAP함께 지도 선언할 수 있습니다. END_MSG_MAP 매크로 메시지 맵의 끝을 표시 합니다. 모든 메시지 맵 BEGIN_MSG_MAP 및 END_MSG_MAP 정확히 하나의 인스턴스가 있어야 합니다(&N).
COMMAND_HANDLER, 이외에 MESSAGE_HANDLER 매핑할 WM_COMMAND 메시지 식별자 또는 코드에 관계 없이 사용할 수 있습니다. 이 경우 MESSAGE_HANDLER(WM_COMMAND, OnHandlerFunction) 모든 WM_COMMAND 메시지를 직접OnHandlerFunction。
ATL에서 메시지 맵을 사용 하는 방법에 대 한 자세한 내용은 문서의 "ATL 창 클래스." 메시지 맵 을 참조합니다
참고 항목
COMMAND_ID_HANDLER, COMMAND_CODE_HANDLER, COMMAND_RANGE_HANDLER, NOTIFY_HANDLER