Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Visual C++/MFC/WTL > Accelerator vs MFC MDI |
Автор: cs137 11.2.2008, 10:35 |
Привет всем!!! Никто случаем не сталкивался с такой проблемой: Вдруг неожиданно оказалось ![]() Спасибо! |
Автор: Earnest 12.2.2008, 08:56 |
Мало информации... Акселераторы должны работать независимо от наличия MDI-окон... Возможно, при создании чайлд-фрейма его таблица акселераторов пуста и заменяет собой таблицу акселераторов главного окна? Пошарь отладчиком в главном цикле (MFC), обращая внимание именно на обработку акселераторов. |
Автор: cs137 12.2.2008, 13:10 |
Я создал новый MDI проект, чтобы сравнить со своим, но опять ничего не добился. По коду, таблице акселераторов чайлд фрейма присваивается значение из DocTemplate и значение это 0. Если создать отдельную таблицу для чайлда, то тогда присваиваемое значение таблицы не будет равно 0. Но то не зависимо от жэтого я получаю же результат :( Горячии клавиши перестают работать, т.е. таблица акселераторов отваливается. Причем в новом проекте, если переопределить клавишу например, открытия чайлда на Ctrl+N, то при существовании чайлд фрейма работает комбинация как Ctrl+N (из таблицы акселераторов для майн фрейма), так и Ctrl+T (из таблицы акселераторов для чайлд фрейма). Вообще ничего не понимаю :( |
Автор: cs137 13.2.2008, 07:14 |
Все, разобрался ![]() ![]() Дико извиняюсь ![]() |