Windows는 키 조합에 응답하지 않습니다. 메뉴 항목은. 마우스를 사용하든, 키 조합을 사용하든, 또는 접근성을 사용하든간에 눌려진 것에 응답하여 메뉴 항목은 응답 메시지 체인 아래로 동작 메시지를 보냅니다.
응답자 체인의 아무 것도 동작 메시지에 응답하지 않으면 경고음이납니다.
이것이 NSDocument 기반 응용 프로그램이고 Apple의 doc 기반 응용 프로그램 템플릿을 시작했다고 가정하면 메뉴 항목의 동작은 saveDocument:
이고 NSDocument 개체는 해당 메시지에 응답하는 개체입니다. 문서 창이 활성 상태이면 문서가 응답 체인에 있으므로 해당 작업 메시지를 보내는 메뉴 항목이 활성화됩니다. 세 번째 창이 활성화되어 있으면 문서가 응답 체인에 없습니다. 다른 사람이 해당 메시지에 응답하지 않으므로 메뉴 항목이 비활성화됩니다.
이 문제는 저장과 관련이 없습니다.이 문제는 문서 개체를 통과해야하는 모든 작업 메시지에 영향을줍니다. 중요한 다른 예가 인쇄입니다. 사용자는 세 번째 창이 아닌 문서를 인쇄하는 것을 의미합니다.
아마도이 세 번째 창에 다른 창에 대한 피어로 존재하는 창을 만들었을 것입니다. 당신이 가지고있는 이런 응답 체인 문제 외에도, 사용자는 아마도 그들이 문서를 떠났다는 사실을 깨닫지 못할 것입니다; 그들은 여전히 문서 작업을 수행 할 수있을 것으로 기대합니다. 대신 유틸리티 패널로 만드십시오.
어떤 창이든지이 창을 만들 수있는 좋은 이유가 있다면이 세 번째 창이 메인이 될 때 반응 체인에서 마지막 활성 문서 객체를 유지해야합니다 문서 윈도우 (아마도 마지막 윈도우)가 닫혀 있기 때문에 윈도우가 메인이되는 경우를 다루는 시간이다.
하지만 saveDocument 나 다른 모든 키보드 단축키를 구현하고 싶지는 않습니다. 문서 단축키를 내 문서 컨트롤러에 전달하고 싶습니다. 어떻게 든 그들은 전달되지 않습니다. – wackazong
설명 : 문서가 문서 컨트롤러가 아닙니다. 문서 제어기는 문서를 제어합니다. –