MFC MDI를 사용하고 있습니다. 주 문서 창에 창을 만듭니다. MDI 창보기의 자식으로 다른 창 (두 번째 창이라고도 함)을 만든 다음 두 번째 창의 자식 창 (세 번째 창)을 만듭니다. 다시 또 다른 창, 세 번째 창 자식 창을 만들어야합니다. 리본에 버튼이 있고이 명령을 처리하기 위해 세 번째 창에서 메시지 처리기를 호출하려고합니다. 메시지 맵과 모든 필수 항목을 추가했지만 메시지 처리기를 호출하지 않습니다. MDI 창보기에서 메시지 처리기를 정의하면 이벤트를 포착합니다. 주 CWinApp 클래스 또는 MDI 창 View 클래스에서 메시지 처리기를 숨기지 않으면 단추가 비활성화 된 것처럼 보입니다.사용자 정의 윈도우 클래스에 이벤트 핸들러 추가
내 모든 하위 뷰 클래스는 CWnd에서 상속되며 주 MDI 창은 CView에서 파생됩니다. 제가 여기서 누락 된 것을 알려주십시오.
사바
부모 자식 관계 및 포커스는 모두 정상적으로 작동하지만 이벤트는 자식 창으로 라우팅되지 않습니다. – Saba
메시지를 직접 전달해야 할 수도 있습니다. 나는 비슷한 것을 경험해 보았고 IIRC 프레임 워크가 윈도우에 전달되었지만, 여러분이 여는 다른 윈도우 (이 추가 자식)는 메시지를 직접 전달하지 않는 한 아무 것도 얻지 못할 것입니다. – Nerdtron
감사합니다 Nerdtron, 나는 당신이 옳다고 생각합니다. 나는 몇 가지 더 시도했지만 아무 것도 효과가 없었습니다. 기본적으로 리본은이를 메인 프레임으로 보내고 메인 프레임은보기 또는 응용 프로그램에 제공합니다. 난 거기에 MFC 코드에서 검색 초점에 창문 관련 anyhting을 찾으십시오. – Saba