от окошек надо делать, чтобы IsDialogMessage не ломал ввод в эдиты и навигация по табам работала?
Как делаешь ты, чтобы оно не работало? Классический цикл есть в справке:while (GetMessage(&msg, NULL, 0, 0)) { if (!IsDialogMesage(dlg, &msg)) { TranslateMessage(&msg); DispatchMessage(&msg); } }
Проблема с IsDialogMessage. Когда я его использую, не работает ввод в эдиты, а навигация по табам так и не появляется
Это я уже понял. А как ты его используешь? Для навигации нужен WS_TABSTOP.
Вот так. Проблема только еще и в том, что если я делаю так, то перестает работать ввод в edit-ы. Tabstop я выставил для каждого выпадающего списка, она не работает
Ненене. Ну-ка диалог укажи, а не бедное дочернее окно. Сохраняешь последний активный диалог в глобальную переменную и вперёд.
Я так не делаю в принципе😁, у меня же несколько окон используется
Ну тогда у тебя ничего не работает в принципе. IsDialogMessage для обработки хочет хэндл активного диалога, ты ему даёшь чёрте что, получаешь чёрте что. Даже вот просто подумать: если бы ему нужно было хэндл из MSG, он бы не просил, а сам взял, да?
Ммм а есть способ проверить, что этот хендл является активным диалоговым окном?
Обсуждают сегодня