У нас есть набор немодальных диалогов, которые являются дочерними по отношению к модальному диалогу. Только один из немодальных диалогов отображается одновременно; остальные скрыты. Это контролируется элементами модального диалога. Если вы думаете о листе свойств Windows, вы поймете эту идею.
Все работает нормально, за исключением клавиши Tab и горячих клавиш Alt + char. Они не делают то, что должны, то есть перемещаются по элементам управления в активном немодальном диалоговом окне. Они просто пищат.
В обычном сценарии, то есть в немодальном диалоге, принадлежащем окну приложения, это обрабатывается путем вызова IsDialogMessage () в цикле сообщений приложения. Мы не можем этого сделать, потому что это не наш цикл сообщений - Windows запускает цикл сообщений для обслуживания модального диалога, и все, что мы получаем, - это сообщения, отправленные в процесс диалога.
Мы пытаемся придумать способы справиться с этим, не прибегая к самостоятельной навигации через WM_GETDLGCODE.
Любые идеи? Прямой C ++ Win32 API, ничего из тех новомодных вещей, которыми все дети пользуются в наши дни.
TIA
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ: Дальнейшее исследование показывает, что Windows применяет клавиши навигации к модальному диалоговому окну хоста, а не к немодальным диалоговым окнам дочерних элементов. Они нужны нам для перехода в немодальные диалоги.