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