Сочетание собственной кнопки: Клавиша.Break

Учебные задачи

Клавиша.Break передаётся настоящему конструктору сочетания, которое назначается собственной кнопке обычной формы.

Где и как запускать

Модуль собственной обычной формы, толстый клиент; у управляемой кнопки этот setter не используется.

Подготовка

  1. Создайте внешнюю учебную обработку с обычной формой. В редакторе добавьте кнопку УчебнаяКнопка с заголовком Учебное действие.

  2. Событию формы ПриОткрытии назначьте основной блок; событию Нажатие этой кнопки — дополнительный обработчик. Оба блока отдельно в модуле обычной формы.

  3. Запуск — толстый клиент. У обычного типа Кнопка свойство СочетаниеКлавиш изменяемое; у КнопкаФормы управляемой формы оно только читается, поэтому этот setter туда не переносится.

  4. Порядок параметров конструктора: Клавиша, Alt, Control, Shift. В опыте нет Alt; для обычных клавиш используются Control и Shift.

  5. Групповые страницы _0..._9, A...Z, F1...F12 и Num0...Num9 описывают семейство констант. Здесь показан конкретный представитель; многоточие в BSL-код не вставляется.

Процедура ПриОткрытии()
    Сочетание = Новый СочетаниеКлавиш(Клавиша.Break, Ложь, Истина, Истина);
    ЭлементыФормы.УчебнаяКнопка.СочетаниеКлавиш = Сочетание;
    Сообщить("Назначенное сочетание: " + Строка(Сочетание));
    Сообщить("Кнопка выполняет только собственное учебное сообщение");
КонецПроцедуры
Обычная форма: действие только своей учебной кнопки
Процедура УчебнаяКнопкаНажатие(Элемент)
    Сообщить("Сработала собственная кнопка");
    Сообщить("Рабочие документы не изменяются");
    Сообщить("Это результат реального действия кнопки");
КонецПроцедуры

Разбор по шагам

  1. Формируем сочетание с настоящей константой Клавиша.

  2. Назначаем его конкретной заранее созданной кнопке обычной формы.

  3. Срабатывание проверяется безопасным собственным сообщением.

Как проверить результат

  1. Нажмите назначенное Ctrl+Shift+Break: если клиент и ОС не перехватили его, выполняется собственный обработчик кнопки.

  2. Кнопка мышью выполняет то же сообщение. Клавиши цифрового блока требуют соответствующей физической клавиатуры / режима NumLock.

Ожидаемый результат

Показано действительное применение константы клавиши, а не сравнение строки с названием клавиатуры.

На что обратить внимание

  1. Комбинации могут быть заняты ОС, драйвером, клиентом или другими командами. Пример не обещает перехват системных сочетаний.

  2. BackSpace, Break, цифровой блок и Space имеют особенности конкретной клавиатуры; диагностируйте фактическое нажатие, не имитируйте его обработчиком вручную.

  3. Клавиша — основная клавиша, а СочетаниеКлавиш — объект с модификаторами; это разные типы.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.