Меню, строка состояния, окна, кнопки, таймер

Меню, строка состояния, окна, кнопки, таймер....

Код примера



Перем ТФ, ОкноСообщений1, ЭлементСтрокиСостояния3; Перем Массив1, Массив2, Окно1Создано, Окно2Создано, Окно1, Окно2; Процедура Меню_Нажатие() Экспорт Если ТФ.АргументыСобытия.Параметр = "Открыть" Тогда Уведомить("Открыть " + ТФ.АргументыСобытия.Параметр + " " + ТекущаяУниверсальнаяДатаВМиллисекундах()); ИначеЕсли ТФ.АргументыСобытия.Параметр = "Справка" Тогда ОкноСообщений1.Кнопки = Массив2; Уведомить("Пример TUI |для односкрипта |на основе Terminal.Gui |."); ОкноСообщений1.Кнопки = Массив1; ИначеЕсли ТФ.АргументыСобытия.Параметр = "СоздатьОкно1" Тогда СоздатьОкно1(); ИначеЕсли ТФ.АргументыСобытия.Параметр = "СоздатьОкно2" Тогда СоздатьОкно2(); Иначе Уведомить("Нажата " + ТФ.АргументыСобытия.Параметр + " " + ТекущаяУниверсальнаяДатаВМиллисекундах()); КонецЕсли; КонецПроцедуры Процедура СоздатьОкно1() Экспорт Если Окно1Создано Тогда Уведомить("Окно1 уже создано"); Возврат; КонецЕсли; Окно1 = ТФ.Окно(); Окно1.Заголовок = "Окно1"; Окно1.Текст = "Когда я был маленький – очень, очень давно, – я читал одну книжку: |она называлась «Пиноккио, или Похождения деревянной куклы» |(деревянная кукла по-итальянски – буратино)."; Окно1.Центр(-5); Окно1.Ширина = ТФ.Величина.Абсолютно(40); Окно1.Высота = ТФ.Величина.Абсолютно(14); ЦветоваяСхема1 = ТФ.ЦветоваяСхема(); ЦветоваяСхема1.Нормальный = ТФ.Атрибут(ТФ.Цвет.Серый, ТФ.Цвет.Черный); ЦветоваяСхема1.Фокус = ТФ.Атрибут(ТФ.Цвет.Синий, ТФ.Цвет.Серый); Окно1.ЦветоваяСхема = ЦветоваяСхема1; Кнопка1 = ТФ.Кнопка("Закрыть"); Кнопка1.Центр(10, 3); Граница1 = ТФ.Граница(); Граница1.СтильГраницы = ТФ.СтильГраницы.Закругленная; Кнопка1.Граница = Граница1; Кнопка1.Нажатие = ТФ.Действие(ЭтотОбъект, "Окно_Закрыть", Окно1); Окно1.Добавить(Кнопка1); Окно1Создано = Истина; ТФ.Верхний.Добавить(Окно1); КонецПроцедуры Процедура СоздатьОкно2() Экспорт Если Окно2Создано Тогда Уведомить("Окно2 уже создано"); Возврат; КонецЕсли; Окно2 = ТФ.Окно(); Окно2.Заголовок = "Окно2"; Окно2.Текст = "Когда я был маленький – очень, очень давно, – я читал одну книжку: |она называлась «Пиноккио, или Похождения деревянной куклы» |(деревянная кукла по-итальянски – буратино)."; Окно2.Центр(5); Окно2.Ширина = ТФ.Величина.Абсолютно(40); Окно2.Высота = ТФ.Величина.Абсолютно(14); Кнопка2 = ТФ.Кнопка("Закрыть"); Кнопка2.Центр(10, 3); Граница2 = ТФ.Граница(); Граница2.СтильГраницы = ТФ.СтильГраницы.Закругленная; Кнопка2.Граница = Граница2; Кнопка2.Нажатие = ТФ.Действие(ЭтотОбъект, "Окно_Закрыть", Окно2); Окно2.Добавить(Кнопка2); Окно2Создано = Истина; ТФ.Верхний.Добавить(Окно2); КонецПроцедуры Процедура Окно_Закрыть() Экспорт ТФ.Верхний.Удалить(ТФ.АргументыСобытия.Параметр); Если ТФ.АргументыСобытия.Параметр.Заголовок = "Окно1" Тогда Окно1Создано = Ложь; ИначеЕсли ТФ.АргументыСобытия.Параметр.Заголовок = "Окно2" Тогда Окно2Создано = Ложь; КонецЕсли; КонецПроцедуры Процедура ЭлементСтрокиСостояния1_Нажатие() Экспорт Уведомить("Нажата " + ТФ.АргументыСобытия.Параметр + " " + ТекущаяУниверсальнаяДатаВМиллисекундах()); КонецПроцедуры Процедура ЭлементСтрокиСостояния2_Нажатие() Экспорт Уведомить("Нажата " + ТФ.АргументыСобытия.Параметр + " " + ТекущаяУниверсальнаяДатаВМиллисекундах()); КонецПроцедуры Процедура Уведомить(Сообщ) Экспорт ОкноСообщений1.Сообщение = Сообщ; ОкноСообщений1.Показать(); КонецПроцедуры Процедура Таймер1_ПриСрабатыванииТаймера() Экспорт ЭлементСтрокиСостояния3.Заголовок = "" + ТекущаяДата(); КонецПроцедуры Процедура Таймер2_ПриСрабатыванииТаймера() Экспорт Если Окно1Создано И Окно2Создано Тогда Иначе КонецЕсли; КонецПроцедуры ПодключитьВнешнююКомпоненту("C:\444\111\OneScriptTerminalGui\OneScriptTerminalGui\bin\Debug\OneScriptTerminalGui.dll"); ТФ = Новый ТерминалФормыДляОдноСкрипта(); Окно1Создано = Ложь; Окно2Создано = Ложь; ПанельМеню1 = ТФ.ПанельМеню(); ТФ.Верхний.Добавить(ПанельМеню1); Файл = ТФ.ПунктМеню(); Файл.Заголовок = "Файл"; ПанельМеню1.ПодМеню.Добавить(Файл); Правка = ТФ.ПунктМеню(); Правка.Заголовок = "Правка"; ПанельМеню1.ПодМеню.Добавить(Правка); Отмена = ТФ.ЭлементМеню(); Отмена.Заголовок = "От_мена"; Отмена.Нажатие = ТФ.Действие(ЭтотОбъект, "Меню_Нажатие", "Отмена"); Правка.Элементы.Добавить(Отмена); Повтор = ТФ.ЭлементМеню(); Повтор.Заголовок = "Повтор"; Повтор.Нажатие = ТФ.Действие(ЭтотОбъект, "Меню_Нажатие", "Повтор"); Правка.Элементы.Добавить(Повтор); Открыть = ТФ.ЭлементМеню(); Открыть.Заголовок = "_Открыть"; Открыть.Нажатие = ТФ.Действие(ЭтотОбъект, "Меню_Нажатие", "Открыть"); Файл.Элементы.Добавить(Открыть); СоздатьОкно1 = ТФ.ЭлементМеню(); СоздатьОкно1.Заголовок = "Создать первое окно"; СоздатьОкно1.Нажатие = ТФ.Действие(ЭтотОбъект, "Меню_Нажатие", "СоздатьОкно1"); Файл.Элементы.Добавить(СоздатьОкно1); СоздатьОкно2 = ТФ.ЭлементМеню(); СоздатьОкно2.Заголовок = "Создать второе окно"; СоздатьОкно2.Нажатие = ТФ.Действие(ЭтотОбъект, "Меню_Нажатие", "СоздатьОкно2"); Файл.Элементы.Добавить(СоздатьОкно2); Печать = ТФ.ЭлементМеню(); Печать.Заголовок = "Печать"; Печать.Нажатие = ТФ.Действие(ЭтотОбъект, "Меню_Нажатие", "Печать"); Файл.Элементы.Добавить(Печать); Настройки = ТФ.ПунктМеню(); Настройки.Заголовок = "_Настройки"; Файл.Элементы.Добавить(Настройки); Файл.Элементы.Добавить(); Выход = ТФ.ЭлементМеню(); Выход.Заголовок = "Вы_ход"; Выход.Нажатие = ТФ.Действие(ЭтотОбъект, "Меню_Нажатие", "Выход"); Файл.Элементы.Добавить(Выход); Опции = ТФ.ЭлементМеню(); Опции.Заголовок = "Опции"; Опции.Нажатие = ТФ.Действие(ЭтотОбъект, "Меню_Нажатие", "Опции"); Настройки.Элементы.Добавить(Опции); Параметры = ТФ.ЭлементМеню(); Параметры.Заголовок = "Параметры"; Параметры.Нажатие = ТФ.Действие(ЭтотОбъект, "Меню_Нажатие", "Параметры"); Настройки.Элементы.Добавить(Параметры); Справка = ТФ.ПунктМеню(); Справка.Заголовок = "Справка"; Справка.Подсказка = "?"; Справка.Нажатие = ТФ.Действие(ЭтотОбъект, "Меню_Нажатие", "Справка"); ПанельМеню1.ПодМеню.Добавить(Справка); ОкноСообщений1 = ТФ.ОкноСообщений(); ОкноСообщений1.Заголовок = ""; ОкноСообщений1.Сообщение = ""; ОкноСообщений1.ИндексКнопкиПоУмолчанию = 0; Массив1 = Новый Массив(); Массив1.Добавить("Да"); Массив1.Добавить("Нет"); Массив2 = Новый Массив(); Массив2.Добавить("Ок"); ОкноСообщений1.Кнопки = Массив1; //=============================================================================================== СтрокаСостояния1 = ТФ.СтрокаСостояния(); ТФ.Верхний.Добавить(СтрокаСостояния1); ЭлементСтрокиСостояния1 = ТФ.ЭлементСтрокиСостояния(ТФ.Клавиши.Null, "Элемент1"); ЭлементСтрокиСостояния1.Нажатие = ТФ.Действие(ЭтотОбъект, "ЭлементСтрокиСостояния1_Нажатие", "Элемент1"); СтрокаСостояния1.Элементы.Добавить(ЭлементСтрокиСостояния1); ЭлементСтрокиСостояния2 = ТФ.ЭлементСтрокиСостояния(ТФ.Клавиши.Null, "Элемент2"); ЭлементСтрокиСостояния2.Нажатие = ТФ.Действие(ЭтотОбъект, "ЭлементСтрокиСостояния2_Нажатие", "Элемент2"); СтрокаСостояния1.Элементы.Добавить(ЭлементСтрокиСостояния2); ЭлементСтрокиСостояния3 = ТФ.ЭлементСтрокиСостояния(ТФ.Клавиши.Null, ""); СтрокаСостояния1.Элементы.Добавить(ЭлементСтрокиСостояния3); Таймер1 = ТФ.Таймер(); Таймер1.Интервал = 1000; Таймер1.ПриСрабатыванииТаймера = ТФ.Действие(ЭтотОбъект, "Таймер1_ПриСрабатыванииТаймера"); Таймер1.Начать(); ТФ.Запуск();

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

Библиотека OneScriptTerminalGui