КонтекстноеМеню.ОдинФреймДляПодменю (ContextMenu.UseSubMenusSingleFrame) Свойство

Использование

Чтение и запись.

Значение

Тип: Булево.

Возвращает или задает значение, указывающее, будут ли подменю отображаться в стиле единого фрейма. Если Истина, контекстное меню и все подменю, которые обычно отображаются каскадом, будут отображаться в одном фрейме. Если Ложь (по умолчанию), подменю будут отображаться каскадом с использованием отдельных фреймов для каждого уровня иерархии меню.

Примечание

Верхний пункт меню должен в этом случае быть единственным пунктом меню (не содержать другие раскрывающиеся пункты меню) и содержать элементы меню.

Пример

КонтекстноеМеню1.ОдинФреймДляПодменю = Истина;
Полный пример кода


Перем ТФ, Окно1, КонтекстноеМеню1, КонтекстноеМеню; Процедура ПриОткрытии() Экспорт КонтекстноеМеню = КонтекстноеМеню1; Окно1.Текст = "Вызовите контекстное меню нажав клавишу s (в англ. раскладке). |Нажмите пункт - Да, вижу меню. |или w для выхода."; КонецПроцедуры Процедура Окно1_ПриНажатииМыши() Экспорт АргументыСобытия = ТФ.АргументыСобытия; Если АргументыСобытия.ФлагиМыши = КонтекстноеМеню1.КнопкаМышиДляАктивации Тогда КонтекстноеМеню1.Позиция = ТФ.Точка(АргументыСобытия.Икс + 4, АргументыСобытия.Игрек); КонтекстноеМеню1.Показать(); КонецЕсли; ТФ.ТаймерНачатьИОстановить(ЭтотОбъект, "ТаймерТик"); КонецПроцедуры Процедура СочетаниеКлавишДействие() Экспорт Список = КонтекстноеМеню1.ПолучитьСочетаниеКлавиш(); Стр = ""; Для Каждого Эл Из Список Цикл Стр = Стр + " | " + Эл.Значение + " (" + Эл.Представление + ") " + ТекущаяУниверсальнаяДатаВМиллисекундах(); КонецЦикла; ТФ.Уведомление().Показать("СочетаниеКлавиш для " + КонтекстноеМеню1 + " = " + Стр, -1); КонтекстноеМеню1.Позиция = ТФ.Точка(5, 5); КонтекстноеМеню1.Показать(); ТФ.ТаймерНачатьИОстановить(ЭтотОбъект, "ТаймерТик", 2000); КонецПроцедуры Процедура ТаймерТик() Экспорт ОдинФреймДляПодменю = КонтекстноеМеню1.ОдинФреймДляПодменю; ТФ.Уведомление().Показать("ОдинФреймДляПодменю = " + ОдинФреймДляПодменю, -1); КонецПроцедуры ПодключитьВнешнююКомпоненту("C:\444\111\OneScriptTerminalGui\OneScriptTerminalGui\bin\Debug\OneScriptTerminalGui.dll"); ТФ = Новый ТерминалФормыДляОдноСкрипта(); Окно1 = ТФ.Верхний.Добавить(ТФ.Окно("Окно1")); Окно1.Заполнить(ТФ.Ширина / 2, ТФ.Высота / 2); Окно1.ПриНажатииМыши = ТФ.Действие(ЭтотОбъект, "Окно1_ПриНажатииМыши"); Окно1.ЦветоваяСхема = ТФ.ЦветоваяСхема(); Окно1.ЦветоваяСхема.Нормальный = ТФ.Атрибут(ТФ.Цвет.ЯркоГолубой, ТФ.Цвет.Синий); Окно1.ЦветоваяСхема.Фокус = ТФ.Атрибут(ТФ.Цвет.ЯркоГолубой, ТФ.Цвет.Синий); КонтекстноеМеню1 = ТФ.КонтекстноеМеню(); ПунктМеню1 = ТФ.ПунктМеню(); // Это начальный пункт меню, который содержит все остальные элементы. Его заголовок невидим. ПунктМеню2 = ТФ.ПунктМеню("Справка"); ПунктМеню2.Подсказка = "Справка"; ПунктМеню1.Элементы.Добавить(ПунктМеню2); ЭлементМеню3 = ТФ.ЭлементМеню(); ЭлементМеню3.Заголовок = "Помощь"; ПунктМеню2.Элементы.Добавить(ЭлементМеню3); ЭлементМеню4 = ТФ.ЭлементМеню(); ЭлементМеню4.Заголовок = "О программе"; ПунктМеню2.Элементы.Добавить(ЭлементМеню4); ЭлементМеню5 = ТФ.ЭлементМеню(); ЭлементМеню5.Заголовок = "Проверить обновления"; ПунктМеню2.Элементы.Добавить(ЭлементМеню5); КонтекстноеМеню1.ПодМеню = ПунктМеню1; КонтекстноеМеню1.ОдинФреймДляПодменю = Истина; КонтекстноеМеню1.ДобавитьСочетаниеКлавиш(ТФ.Клавиши.s_low); КонтекстноеМеню1.СочетаниеКлавишДействие = ТФ.Действие(ЭтотОбъект, "СочетаниеКлавишДействие", КонтекстноеМеню1); ТФ.ПриОткрытии = ТФ.Действие(ЭтотОбъект, "ПриОткрытии"); ТФ.Запуск();

Тестовый код


Перем ТФ, Окно1, КонтекстноеМеню1, КонтекстноеМеню, ОдинФреймДляПодменю; Процедура ПриОткрытии() Экспорт КонтекстноеМеню = КонтекстноеМеню1; Окно1.Текст = "Вызовите контекстное меню нажав клавишу s (в англ. раскладке). |Нажмите пункт - Да, вижу меню. |или w для выхода."; КонецПроцедуры Процедура Окно1_ПриНажатииМыши() Экспорт АргументыСобытия = ТФ.АргументыСобытия; Если АргументыСобытия.ФлагиМыши = КонтекстноеМеню1.КнопкаМышиДляАктивации Тогда КонтекстноеМеню1.Позиция = ТФ.Точка(АргументыСобытия.Икс + 4, АргументыСобытия.Игрек); КонтекстноеМеню1.Показать(); КонецЕсли; ТФ.ТаймерНачатьИОстановить(ЭтотОбъект, "ТаймерТик"); КонецПроцедуры Процедура СочетаниеКлавишДействие() Экспорт Список = КонтекстноеМеню1.ПолучитьСочетаниеКлавиш(); Стр = ""; Для Каждого Эл Из Список Цикл Стр = Стр + " | " + Эл.Значение + " (" + Эл.Представление + ") " + ТекущаяУниверсальнаяДатаВМиллисекундах(); КонецЦикла; ТФ.Уведомление().Показать("СочетаниеКлавиш для " + КонтекстноеМеню1 + " = " + Стр, -1); КонтекстноеМеню1.Позиция = ТФ.Точка(5, 5); КонтекстноеМеню1.Показать(); ТФ.ТаймерНачатьИОстановить(ЭтотОбъект, "ТаймерТик", 2000); КонецПроцедуры Процедура ТаймерТик() Экспорт ОдинФреймДляПодменю = КонтекстноеМеню1.ОдинФреймДляПодменю; ТФ.Уведомление().Показать("ОдинФреймДляПодменю = " + ОдинФреймДляПодменю, -1); ТФ.Завершить(); КонецПроцедуры ПодключитьВнешнююКомпоненту("C:\444\111\OneScriptTerminalGui\OneScriptTerminalGui\bin\Debug\OneScriptTerminalGui.dll"); ТФ = Новый ТерминалФормыДляОдноСкрипта(); Окно1 = ТФ.Верхний.Добавить(ТФ.Окно("Окно1")); Окно1.Заполнить(ТФ.Ширина / 2, ТФ.Высота / 2); Окно1.ПриНажатииМыши = ТФ.Действие(ЭтотОбъект, "Окно1_ПриНажатииМыши"); Окно1.ЦветоваяСхема = ТФ.ЦветоваяСхема(); Окно1.ЦветоваяСхема.Нормальный = ТФ.Атрибут(ТФ.Цвет.ЯркоГолубой, ТФ.Цвет.Синий); Окно1.ЦветоваяСхема.Фокус = ТФ.Атрибут(ТФ.Цвет.ЯркоГолубой, ТФ.Цвет.Синий); КонтекстноеМеню1 = ТФ.КонтекстноеМеню(); ПунктМеню1 = ТФ.ПунктМеню(); // Это начальный пункт меню, который содержит все остальные элементы. Его заголовок невидим. ПунктМеню2 = ТФ.ПунктМеню("Справка"); ПунктМеню2.Подсказка = "Справка"; ПунктМеню1.Элементы.Добавить(ПунктМеню2); ЭлементМеню3 = ТФ.ЭлементМеню(); ЭлементМеню3.Заголовок = "Помощь"; ПунктМеню2.Элементы.Добавить(ЭлементМеню3); ЭлементМеню4 = ТФ.ЭлементМеню(); ЭлементМеню4.Заголовок = "О программе"; ПунктМеню2.Элементы.Добавить(ЭлементМеню4); ЭлементМеню5 = ТФ.ЭлементМеню(); ЭлементМеню5.Заголовок = "Проверить обновления"; ПунктМеню2.Элементы.Добавить(ЭлементМеню5); КонтекстноеМеню1.ПодМеню = ПунктМеню1; КонтекстноеМеню1.ОдинФреймДляПодменю = Истина; КонтекстноеМеню1.ДобавитьСочетаниеКлавиш(ТФ.Клавиши.s_low); КонтекстноеМеню1.СочетаниеКлавишДействие = ТФ.Действие(ЭтотОбъект, "СочетаниеКлавишДействие", КонтекстноеМеню1); ТФ.ПриОткрытии = ТФ.Действие(ЭтотОбъект, "ПриОткрытии"); ТФ.Запуск(); Сообщить(?( ОдинФреймДляПодменю , "", "!!! ") + "КонтекстноеМеню.ОдинФреймДляПодменю (ContextMenu.UseSubMenusSingleFrame) Свойство" + " " + ТекущаяДата() + Символы.ПС);

Смотрите также

Библиотека OneScriptTerminalGui