대화 상자 기반 MFC 응용 프로그램이 있습니다. 내 대화 상자에는 메뉴가 있으며 대화 상자에서 메뉴 단축키를 사용하려면 here 기술을 사용하고 있습니다.대화 상자의 메뉴 명령 업데이트 처리기
잘 작동하지만 메뉴 명령 업데이트 처리기를 구현하는 방법을 찾지 못하는 것 같습니다. 또는 업데이트 처리기를 구현했지만 MFC에서 호출하도록하는 좋은 방법을 찾지 못하는 것 같습니다.
웹을 검색하면서 대화 하위 컨트롤에 대한 명령 업데이트 처리기를 구현하는 UpdateDialogControls()
과 같은 기능을 발견했습니다. 하지만 대화 상자 메뉴의 명령에 대해이 작업을 수행하려고합니다.
제안 사항?
그 이유는 대화 상자에 메뉴 나 메뉴 액셀러레이터가 없기 때문입니다. 원래 문제에 대한 '진짜'대답은 '대화 상자에 메뉴를 넣지 마십시오'였습니다. Windows 방식이 아닙니다. – Roel
@Roel : 나는 더 이상 동의 할 수 없었다. MFC 자체는 대화 상자 기반 응용 프로그램의 아이디어를 지원합니다. 대개 대화 상자에 메뉴를 넣는 것은 의미가 없습니다. 그러나 때로는 그렇습니다. –
MFC 대화 상자 기반 응용 프로그램은 메뉴가없는 간단한 대화 상자이거나 '폼'(즉, 대화 상자)을 기반으로하는보기가있는 SDI 응용 프로그램입니다. 그러나이 경우 대화 상자는 메뉴 또는 가속기를 처리하지 않으므로 프레임 창 (CMainFrame)이 수행합니다. 대화 상자에 메뉴를 넣는 방법에 대한 정보를 쉽게 찾을 수없는 이유가 있습니다. PreTranslateMessage()를 사용해야하는 시간의 95 %는 MFC가 아니거나 Windows 방식이 아닌 잘못된 것을 수행하기 때문입니다. – Roel