Фреймы - горячие клавишы
От: delphinchik Россия  
Дата: 28.04.05 08:59
Оценка:
В программе несколько модулей. Есть панель, на которой эти модули отображаются. Их отображением занимается менеджер модулей. Панель занимает почти все рабочее пространоство программы кроме небольшой панели инструментов, которая и обеспечивает навигацию по модулям. Почти в каждом модуле есть кнопки с горячими клавишами. Например кнопки типа Done и Cancel присутствуют почти в каждом модуле. Горячие клавиши у них, естественно одинаковые. Проблема заключается в том, что при нажатии горячих клавиш выполняются действия не того модуля, который отображается в данный момент. Более того, можно нажать горячие клавиши, которые не присутствуют в отображаемом модуле но выполнятся действия другого модуля, ассоциированные с этими клавишами.
Немного о тонкости реализации:
Модули (фреймы) не удаляются из памяти, при выборе очередного модуля, текущий прячется, выполнив необходимые завершающие действия, а на его месте создается (если еще не был создан) и показывается выбранный модуль.
Спасибо за совет.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.