kms писал(а) 05. Мая 2008 :: 19:33:Каким образом, кстати, это реализовано?
В классе перехватчика ВСЕХ форм:
Процедура ПриНажатииКнопкиКлавиатуры(Код, Альт, Шифт, Контрол, Символ, ФСО) Экспорт
Перехватчик.ВыполнитьОригинальноеСобытиеГК(Конт, "ПриНажатииКнопкиКлавиатуры", Код, Альт, Шифт, Контрол, Символ, ФСО);
Если ФСО <> 0 Тогда
АктивныйЭлемент = Конт.Форма.АктивныйЭлемент();
Если ПустоеЗначение(АктивныйЭлемент) = 0 Тогда
_Форма = СоздатьОбъект("Форма");
_Форма.УстановитьФорму(Конт.Форма);
Попытка
Элемент = _Форма.ПолучитьЭлементУправления(АктивныйЭлемент);
//Сообщить(Элемент);
Исключение
//Сообщить(ОписаниеОшибки());
КонецПопытки;
КонецЕсли;
Если ПустоеЗначение(Элемент) = 0 Тогда
Если Информатор.МетодСуществует(Элемент, "ПриНажатииКнопкиКлавиатуры") = 1 Тогда
Элемент.ПриНажатииКнопкиКлавиатуры(Код, Альт, Шифт, Контрол, Символ, ФСО);
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецПроцедуры
в классе ТП:
Процедура ПриНажатииКнопкиКлавиатуры(Код, А, Ш, К, Символ, ФСО) Экспорт
Если (К = 1) И (А + Ш = 0) Тогда
Если (Код = 67) ИЛИ (Код = 45) Тогда // Ctrl-C ИЛИ Ctrl-Ins
Если ПустоеЗначение(Сам().ТекущаяКолонка.Данные) = 0 Тогда
БуферОбмена = СоздатьОбъект("БуферОбмена");
Если ПустоеЗначение(Сам().ТекущиеДанные) = 0 Тогда
Данные)));
КонецЕсли;
КонецЕсли;
ФСО = 0;
КонецЕсли;
КонецЕсли;
Если Код = 116 Тогда
Сам().ОбновитьСтроки();
ФСО = 0;
КонецЕсли;
КонецПроцедуры
Вуаля, мон ами!