1CLenta.ru  

Программное добавление элементов обычных форм

Программирование системы     07.06.2018 16:04     31260

В основном элементы формы задаются статически через конфигуратор. Но иногда требуется программное изменение формы. В обычном приложении не предусмотрено программное создание реквизитов формы, но можно программно добавлять элементы формы. В управляемом приложении доступно программное добавление элементов и реквизитов управляемых форм.

Добавление поля ввода


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

//Добавление поля ввода

Элемент = ЭтаФорма.ЭлементыФормы.Добавить(Тип("ПолеВвода"), "Реквизит1", Истина);
Элемент.Лево = 80;
Элемент.Верх = 50;
Элемент.Ширина = 100;
Элемент.Высота = 20;
Элемент.Данные = "Реквизит1";
Элемент.ИзменяетДанные = Истина;


Добавление кнопки обычной формы


При программном добавлении кнопки необходимо установить процедуру, которая будет выполняться при нажатии. Обработчик действия для кнопки устанавливается функцией "УстановитьДействие". Так же необходимо задать заголовок кнопки и определить значения свойств отвечающих за положение.

//Добавление кнопки

Элемент = ЭтаФорма.ЭлементыФормы.Добавить(Тип("Кнопка"), "Кнопка", Истина);
Элемент.Заголовок = "Выполнить";
Элемент.Лево = 80;
Элемент.Верх = 100;
Элемент.Ширина = 100;
Элемент.Высота = 20;
Действие = Новый Действие("КнопкаВыполнитьНажатие");
Элемент.УстановитьДействие("Нажатие", Действие);

Процедура КнопкаВыполнитьНажатие(Кнопка)
Сообщить("Выполнение действия");
КонецПроцедуры


Добавление надписи обычной формы


В свойстве "Заголовок" указывается заголовок надписи. Для позиционирования элемента на форме задаются значения свойств отвечающих за положение.

//Добавление надписи

Элемент = ЭтаФорма.ЭлементыФормы.Добавить(Тип("Надпись"), "Надпись1", Истина);
Элемент.Лево = 10;
Элемент.Верх = 50;
Элемент.Ширина = 70;
Элемент.Высота = 20;
Элемент.Заголовок = "Реквизит 1";

Комментарии (0)