CPropertySheet와 독립 실행 형 대화 상자 모두에 표시해야하는 대화 상자가 있습니다. 나는 코드 중복성을 피하기 위해 2 개의 분리 된 클래스를 가지지 않기로 결정했다. (나는이 대화 상자에서 많은 것을 변경하고, 2 개의 클래스를 지속적으로 동기화하는 것은 지옥이 될 것이다.) 대신 독립형 대화 상자로 보여주기를 원한다. CPropertyPage :: DoModal를 호출하십시오. 이것은 몇 가지 문제를 일으키지 만, 나는 대부분을 고쳤습니다.독립 실행 형 대화 상자로 표시 할 때 CPropertyPage 파생 대화 상자가 Esc에서 닫히지 않습니다.
그러나 일부는 여전히 남아 있습니다. 즉, enter와 esc는 작동하지 않습니다. 또한 탭을 눌러도 포커스가 변경되지 않습니다. 이 CPropertyPage 모든 키보드 입력 먹는 생각하거나 어쩌면 부모에게 전달하려고합니다.
독립 실행 형 모드에서 어떻게 동작을 재정의 할 수 있습니까?
도움이 링크를 찾을 수 있습니다
, 그것은 단지'CWnd :: PreTranslateMessage'를 호출하는 것으로 밝혀졌습니다. 그래서 나는'CDialog :: PreTranslateMessage'를 호출 해 보았습니다. 그리고 기적적인 일이 시작되었습니다. 탭 키와 모든 것을 포함합니다. – sashoalm