Модуль меню позволяет динамически создавать контекстное меню и выводить его на экран.

Для работы с меню сначала нужно объявить модуль:

моеМеню Это Модуль ("Меню").

После этого можно заполнить пункты меню:

Действие Окно1_Щелк().
    моеМеню:Создать(Окно1).
    моеМеню:Текст(1;"Покрасить в белый цвет").
    моеМеню:Текст(2;"Покрасить в красный цвет").
    моеМеню:Текст(3;"Покрасить в черный цвет").
    моеМеню:Текст(4;"-").
    моеМеню:Текст(5;"Выход").
    моеМеню:Показать.
КонецДействия.

 

После того как пользователь выбрал один из пунктов меню надо обработать это действие. Для этого существует событие _Щелк(НомерПункта). НомерПункта - номер выбранного пункта меню. Например:

Действие МоеМеню_Щелк(Нумер).
  
   Если Нумер=1.
        Окно1:ЦветФона(КЗС(255;255;255)).
   КонецЕсли.
  
   Если Нумер=2.
        Окно1:ЦветФона(КЗС(255;0;0)).
   КонецЕсли.
  
   Если Нумер=3.
        Окно1:ЦветФона(КЗС(0;0;0)).
   КонецЕсли.
  
   Если Нумер=5.
        Конец.
   КонецЕсли.
КонецДействия.


Например, при выборе второго пункта меню результат будет следующий:

 

Действия модуля Меню

Создать

Синтаксис:
[ИДДерева]:Создать(ИмяОкна). 
Описание: 
Действие создает новый элемент "Меню" на окне заданным его идентификатором. 

 

Текст

Синтаксис:
[ИДДерева]:Текст(НомерПункта;Текст). 
Описание:
Действие задает текст позиции меню заданной его номером. 

Доступность

Синтаксис:
[ИДДерева]:Доступность(НомерПункта). 
Описание:
Действие создает новый элемент "Меню" на окне заданным его идентификатором. 

 
Показать

Синтаксис: 
[ИДДерева]:Показать. 
Описание:
Действие Выводит на экран сформированное меню.

События модуля Меню

Щелк

Синтаксис: 
Действие [ИДМеню]_Щелк(НомерПунктаМеню).
Описание: 
Возникает при щелчке мышью по одному из пунктов меню. В параметр НомерПунктаМеню передается номер выбранного пункта меню. Событие вызывается и в том случае, если при выделенном пункте меню была нажата клавиша Enter.