Форум Кладовочки АЛьФ`а

Обсуждение проектов => FormEx => Тема начата: alyuev от 08 июля 2024, 16:31

Название: Как понять, что сейчас активно системное окно ВвестиСтроку, ВвестиЧисло и пр.?
Отправлено: alyuev от 08 июля 2024, 16:31
Задумал по ESC закрывать активную таблицу. Для этого определяю, что это именно Таблица как:

Табл=Сервис.активныйконтекст(л_текОкно)
Если ТипЗначенияСтр(Табл)="Таблица" Тогда
   флаг=0;
   СистемнаяКоманда(32800);
   Перейти ~Выход;
КонецЕсли;

Т.е. собственно закрытие через СистемнаяКоманда(32800).

Но всплыла неприятная ситуация, когда используются системные функции типа ВвестиСтроку, ВвестиЧисло, ВвестиДату и пр... то вместо того, чтобы по ESC закрылось это системное окно - закрывается окно под ним (таблица, или даже было отчет с прикрепленной таблицы).

Я, конечно, сейчас это обошел. Просто создав глоб переменную-флаг. Поднимаю перед вызовом ВвестиСтроку и обнуляю после. Но это нужно везде так делать, где натыкаюсь на подобное поведение ESC.

Вот я и подумал, а можно как-то определить, что сейчас активным является системное окно ввода? Чтобы это использовать уже в момент перехвата ESC.