Модуль меню позволяет динамически создавать контекстное меню и выводить его на экран.
Для работы с меню сначала нужно объявить модуль:
моеМеню Это Модуль ("Меню").
После этого можно заполнить пункты меню:
Действие Окно1_Щелк().
моеМеню:Создать(Окно1).
моеМеню:Текст(1;"Покрасить в белый цвет").
моеМеню:Текст(2;"Покрасить в красный цвет").
моеМеню:Текст(3;"Покрасить в черный цвет").
моеМеню:Текст(4;"-").
моеМеню:Текст(5;"Выход").
моеМеню:Показать.
КонецДействия.
После того как пользователь выбрал один из пунктов меню надо обработать это действие. Для этого существует событие _Щелк(НомерПункта). НомерПункта - номер выбранного пункта меню. Например:
Действие МоеМеню_Щелк(Нумер).
Если Нумер=1.
Окно1:ЦветФона(КЗС(255;255;255)).
КонецЕсли.
Если Нумер=2.
Окно1:ЦветФона(КЗС(255;0;0)).
КонецЕсли.
Если Нумер=3.
Окно1:ЦветФона(КЗС(0;0;0)).
КонецЕсли.
Если Нумер=5.
Конец.
КонецЕсли.
КонецДействия.
Например, при выборе второго пункта меню результат будет следующий:
Действия модуля Меню
Создать
Синтаксис:
[ИДДерева]:Создать(ИмяОкна).
Описание:
Действие создает новый элемент "Меню" на окне заданным его идентификатором.
Текст
Синтаксис:
[ИДДерева]:Текст(НомерПункта;Текст).
Описание:
Действие задает текст позиции меню заданной его номером.
Доступность
Синтаксис:
[ИДДерева]:Доступность(НомерПункта).
Описание:
Действие создает новый элемент "Меню" на окне заданным его идентификатором.
Показать
Синтаксис:
[ИДДерева]:Показать.
Описание:
Действие Выводит на экран сформированное меню.
События модуля Меню
Щелк
Синтаксис:
Действие [ИДМеню]_Щелк(НомерПунктаМеню).
Описание:
Возникает при щелчке мышью по одному из пунктов меню. В параметр НомерПунктаМеню передается номер выбранного пункта меню. Событие вызывается и в том случае, если при выделенном пункте меню была нажата клавиша Enter.