Обработчик ТАБ_ФОРМА.меню
Обработчик события меню вызывается при нажатии пользователем правой кнопки мыши или клавиши "контекстное меню" на клавиатуре. Функция-обработчик может сформировать контекстное меню для показа пользователю. При выборе пользователем некоторого пункта меню, соответствующий строковый код команды будет передан в обработчик команда.
ФУНКЦИЯ ЛОГИКА: <имя функции>(ПЕРЕМ ТАБ_ФОРМА: форма; ПЕРЕМ МЕНЮ: м)
Параметры
- форма
- Экземпляр табличной формы, для которой происходит запрос меню.
- м
- Начальное состояние меню, которое может иметь некоторое стандартное наполнение для элементов управления. Для самой табличной формы меню по умолчанию не предусмотрено.
Возвращаемое значение
ДА – если функция-обработчик подтверждает показ меню, НЕТ – если запрещает.
Для элементов управления в ячейках табличной формы запрос контекстного меню может привести к вызову обработчика меню табличной формы, если их собственный обработчик отсутствует или вернул НЕТ.
Вид контекстного меню и доступность его действий обычно зависят от текущего выделения. Получить текущую позицию курсора можно методом КУР_ЯЧЕЙКА, а список ячеек множественного выделения – методом ВЫДЕЛЕНИЕ.
Пример
/* вид контекстного меню зависит от текущей позиции курсора */ ПОДМЕНА меню = {Меню}; ФУНКЦИЯ ЛОГИКА: Меню(ПЕРЕМ ТАБ_ФОРМА: форма; ПЕРЕМ МЕНЮ: м) ПЕРЕМ ТФ_ЯЧЕЙКА: ячейка КУР_ЯЧЕЙКА(ячейка) ВЫБОР(ячейка.строка) # 2, 3, 4: РЕЗУЛЬТАТ = ДА м.пункты = ( 1: [ текст = "Добавить проводку", команда = "ДОБ_ПРОВ" ], 2: [ текст = "Удалить проводку", команда = "УД_ПРОВ" ], 3: [], 4: [ текст = "Настройка", команда = "НАСТР"] ) ИНАЧЕ РЕЗУЛЬТАТ = НЕТ КОНЕЦ_ВЫБОРА КОНЕЦ_ФУНКЦИИ