Переключение на Главную Страницу Страницы: [1] 2 3 4 ОтправитьПечать
Очень популярная тема (более 25 ответов) В модальном режиме формы не ловятся нажатия клавиш (число прочтений - 13637 )
Злоп
Senior Member
****
Отсутствует


Ябба!

Сообщений: 317
Местоположение: г.Москва
Зарегистрирован: 14. Августа 2006
Пол: Мужской
В модальном режиме формы не ловятся нажатия клавиш
01. Октября 2008 :: 16:15
Печать  
Если открыть форму модально (у меня, например, внешняя обработка), то не срабатывает
Процедура ПриНажатииКнопкиКлавиатуры(код, _а, _ш, _к, символ, ФСО=1)
...это бага или фича?
[560.64 Kb]
[версия: 2.0.5.92 от 6.08.2008]
  
Наверх
www  
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: В модальном режиме формы не ловятся нажатия клавиш
Ответ #1 - 01. Октября 2008 :: 17:40
Печать  
Злоп писал(а) 01. Октября 2008 :: 16:15:
Если открыть форму модально (у меня, например, внешняя обработка), то не срабатывает
Процедура ПриНажатииКнопкиКлавиатуры(код, _а, _ш, _к, символ, ФСО=1)
...это бага или фича?
[560.64 Kb]
[версия: 2.0.5.92 от 6.08.2008]

Все чудно работало и работает.
Код обработчика покажи.
  
Наверх
ICQ  
IP записан
 
Злоп
Senior Member
****
Отсутствует


Ябба!

Сообщений: 317
Местоположение: г.Москва
Зарегистрирован: 14. Августа 2006
Пол: Мужской
Re: В модальном режиме формы не ловятся нажатия клавиш
Ответ #2 - 01. Октября 2008 :: 18:01
Печать  
//*******************************************************************
//ПРЕДОПРЕДЕЛЕННАЯ ПРОЦЕДУРА FORMEX
//
Процедура ПослеОткрытия()
     
     локРасшФормы = СоздатьОбъект("РасширениеФормы");
     локСервис       = СоздатьОбъект("Сервис");
     локРасшФормы.Максимизирована = 1;
     
     текФорма       = локРасшФормы.ПолучитьФорму();
     локРасшФормы = "";
     
     //убираем все лишнее с экрана
     локРасшФормы1 = СоздатьОбъект("Окна");
     локРасшФормы1.ПоказыватьПанели(0);
     локРасшФормы1.ПоказыватьСтрокуСостояния(0);
     локРасшФормы1.СтильОкна(,2);
     локРасшФормы1.СтильОкна(текФорма,2);
     локРасшФормы1.РазмерОкна(текФорма,800,600);
     локРасшФормы1.ЦентрироватьОкно(текФорма);
     
КонецПроцедуры      // ПослеОткрытия

//*******************************************************************
//ПРЕДОПРЕДЕЛЕННАЯ ПРОЦЕДУРА
//
Процедура ПриОткрытии()
     _текКаталог = ФС.ТекКаталог();
     
     СпрП = СоздатьОбъект("Справочник.Пользователи");      
     СпрТ = СоздатьОбъект("Справочник.Табель");

     _СтрокаСортировки      = "Сотрудник+";      //список сотрудников - по алфавиту
                                                           //настройку между сеансами - не сохраняем!!!
     РазрешеноЗакрыть      = 0;                  //блокировка выхода по ESC
     иКартинка.РежимРисования(3);            //режим "пропорционально"
     
     Форма.ИспользоватьСлой("Общий,Основной,Изображение",2); //основное рабочее поле
     
     _ПолеВвода      = "ВыбШКтовар";                                                //объект приёма фокуса/ввода
     _Тикер            = _getPerformanceCounter();                          //пауза перед переходом в режим ожидания
     Форма.Закрыть();                                                            //активизируем поле приема данных
     
КонецПроцедуры      // ПриОткрытии()

//*******************************************************************
//ПРЕДОПРЕДЕЛЕННАЯ ПРОЦЕДУРА
//
Процедура ПриЗакрытии()
     
     Если  РазрешеноЗакрыть = 0
     Тогда //финт ушами для перемещения фокуса в поле ввода
             Активизировать(_ПолеВвода);
             СтатусВозврата(0);
             Возврат;
     КонецЕсли;

     ФС.УстТекКаталог(_текКаталог);
     Если  Найти(Врег(ИмяПользователя()),"АДМИНИСТРАТОР") = 0
     Тогда //для всех, кроме админиа - доступен только "дежурный" режим...
             ЗавершитьРаботуСистемы(0);
     КонецЕсли;
КонецПроцедуры      // ПриЗакрытии()

*******************************************************************
//ПРЕДОПРЕДЕЛЕННАЯ ПРОЦЕДУРА FORMEX
//
Процедура ПриНажатииКнопкиКлавиатуры(код, _а, _ш, _к, символ, ФСО=1)
     //Предупреждение("нажат "+Код+"="+символ);      
     
     Если  (код = 121) и (_к=1)
     Тогда //выход, ctrl+ф10
           ФСО = 0;
           ВыбШКтовар = "";
           РазрешеноЗакрыть = 1;
           Форма.Закрыть();
           Возврат;
     КонецЕсли;      
     
     Если  код = 123
     Тогда //в режим ожидания, ф12
           ФСО = 0;
           кнОжидание();
           Возврат;
     КонецЕсли;      

     Если  код = 114
     Тогда //ручной выбор, ф3
           ФСО = 0;
           ВыбШКтовар = "";
           Форма.ИспользоватьСлой("Общий,Основной,Изображение,Список",2);
                       //прочий рабочий код..
     КонецЕсли;      

     Если  код = 119
     Тогда //сортировка таблицы ручного выбора, ф8
           ФСО = 0;
           Если  _ПолеВвода = "ВыбШКтовар"
           Тогда Возврат;
           КонецЕсли;
           
           Если  _СтрокаСортировки="Сотрудник+"
           Тогда _СтрокаСортировки="Подкраска+,Подразделение+,Сотрудник+";
           Иначе _СтрокаСортировки="Сотрудник+";
           КонецЕсли;
           ТЗСписок.Сортировать(_СтрокаСортировки);
     КонецЕсли;
     
КонецПроцедуры      // ПриНажатииКнопкиКлавиатуры
  
Наверх
www  
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: В модальном режиме формы не ловятся нажатия клавиш
Ответ #3 - 01. Октября 2008 :: 18:20
Печать  
1. Не надо загаживать ответ лишним кодом. Я спросил предельно ясно.
2. Все нормально работает. Как определяешь, что не работает?
  
Наверх
ICQ  
IP записан
 
Злоп
Senior Member
****
Отсутствует


Ябба!

Сообщений: 317
Местоположение: г.Москва
Зарегистрирован: 14. Августа 2006
Пол: Мужской
Re: В модальном режиме формы не ловятся нажатия клавиш
Ответ #4 - 01. Октября 2008 :: 18:38
Печать  
Не отрабатывает "Предупреждение"
также не отрабатывает если его заменить на сообщить....
  
Наверх
www  
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: В модальном режиме формы не ловятся нажатия клавиш
Ответ #5 - 01. Октября 2008 :: 18:40
Печать  
Злоп писал(а) 01. Октября 2008 :: 18:38:
Не отрабатывает "Предупреждение"
также не отрабатывает если его заменить на сообщить....

У меня все отрабатывает.
Сделай простейшую тестовую обработку и покажи.
Буквально с одной процедурой обработки нажатия клавиши.
  
Наверх
ICQ  
IP записан
 
Злоп
Senior Member
****
Отсутствует


Ябба!

Сообщений: 317
Местоположение: г.Москва
Зарегистрирован: 14. Августа 2006
Пол: Мужской
Re: В модальном режиме формы не ловятся нажатия клавиш
Ответ #6 - 01. Октября 2008 :: 19:06
Печать  
еду домой, выйду в эфир + 2 часа
  
Наверх
www  
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: В модальном режиме формы не ловятся нажатия клавиш
Ответ #7 - 01. Октября 2008 :: 19:07
Печать  
Злоп писал(а) 01. Октября 2008 :: 19:06:
еду домой, выйду в эфир + 2 часа

ок
  
Наверх
ICQ  
IP записан
 
Злоп
Senior Member
****
Отсутствует


Ябба!

Сообщений: 317
Местоположение: г.Москва
Зарегистрирован: 14. Августа 2006
Пол: Мужской
Re: В модальном режиме формы не ловятся нажатия клавиш
Ответ #8 - 01. Октября 2008 :: 21:44
Печать  
все.. на сегодня сил ваять уже нет... переносится скорее всего на субботу...
  
Наверх
www  
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: В модальном режиме формы не ловятся нажатия клавиш
Ответ #9 - 01. Октября 2008 :: 21:51
Печать  
Дело хозяйское.
  
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: В модальном режиме формы не ловятся нажатия клавиш
Ответ #10 - 02. Октября 2008 :: 03:43
Печать  
Попробуй не
ПриНажатииКнопкиКлавиатуры(код, _а, _ш, _к, символ, ФСО=1)
а
ПриНажатииКнопкиКлавиатуры(код, _а, _ш, _к, символ, ФСО)
т.е. без параметра по умолчанию
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
vip
1c++ power user
Отсутствует



Сообщений: 1570
Зарегистрирован: 19. Мая 2006
Re: В модальном режиме формы не ловятся нажатия клавиш
Ответ #11 - 02. Октября 2008 :: 04:11
Печать  
artbear писал(а) 02. Октября 2008 :: 03:43:
Попробуй не
ПриНажатииКнопкиКлавиатуры(код, _а, _ш, _к, символ, ФСО=1)
а
ПриНажатииКнопкиКлавиатуры(код, _а, _ш, _к, символ, ФСО)
т.е. без параметра по умолчанию

Да работает и когда ФСО=1. Проверял.
  
Наверх
ICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: В модальном режиме формы не ловятся нажатия клавиш
Ответ #12 - 02. Октября 2008 :: 04:31
Печать  
vip писал(а) 02. Октября 2008 :: 04:11:
artbear писал(а) 02. Октября 2008 :: 03:43:
Попробуй не
ПриНажатииКнопкиКлавиатуры(код, _а, _ш, _к, символ, ФСО=1)
а
ПриНажатииКнопкиКлавиатуры(код, _а, _ш, _к, символ, ФСО)
т.е. без параметра по умолчанию

Да работает и когда ФСО=1. Проверял.

Это я на всякий случай написал Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Злоп
Senior Member
****
Отсутствует


Ябба!

Сообщений: 317
Местоположение: г.Москва
Зарегистрирован: 14. Августа 2006
Пол: Мужской
Re: В модальном режиме формы не ловятся нажатия клавиш
Ответ #13 - 02. Октября 2008 :: 15:55
Печать  
сферического коня в вакууме - изобретать не буду
в архиве - конфигурация, упрощенная по самое не балуйся.
запускаем и смотрим.
тщательно провел исследование.
У МЕНЯ - НЕ РАБОТАЕТ!!!
1. жду вердикта
2. что сделать чтобы выяснить - почему не работает?
  

_demobug.zip ( 948 KB | Загрузки )
Наверх
www  
IP записан
 
Злоп
Senior Member
****
Отсутствует


Ябба!

Сообщений: 317
Местоположение: г.Москва
Зарегистрирован: 14. Августа 2006
Пол: Мужской
Re: В модальном режиме формы не ловятся нажатия клавиш
Ответ #14 - 02. Октября 2008 :: 16:01
Печать  
конфа запускалась на "чистой" машине - после перезагрузки.
никаких ВК больше не грузится...
что еще от меня надо?
  
Наверх
www  
IP записан
 
Переключение на Главную Страницу Страницы: [1] 2 3 4
ОтправитьПечать