Программное создание кнопки на форме
Для добавления кнопки на форму через программный код, необходимо выполнить несколько шагов. Этот процесс включает создание команды, добавление кнопки и привязку команды к кнопке для выполнения действия при её нажатии.
Создание команды
Команда отвечает за логику работы кнопки. Для этого создаём команду в коллекции команд формы с помощью метода Добавить()
. В качестве параметра передаётся имя команды, которое будет уникальным.
НоваяКоманда = ЭтаФорма.Команды.Добавить("Команда1");
Далее, для команды задаётся заголовок, который будет отображаться на кнопке. Также определяем действие, которое будет вызвано при нажатии кнопки.
НоваяКоманда.Заголовок = "Кнопка";
НоваяКоманда.Действие = "НажатиеКнопки";
Добавление кнопки на форму
После создания команды необходимо добавить сам элемент кнопки на форму. Для этого используем метод Добавить()
из коллекции элементов формы. Указываем тип элемента как "КнопкаФормы".
НоваяКнопка = ЭтаФорма.Элементы.Добавить("Кнопка", Тип("КнопкаФормы"), ЭтаФорма);
Последним шагом является привязка команды к кнопке. Для этого используем свойство ИмяКоманды
, которое связывает кнопку с ранее созданной командой.
НоваяКнопка.ИмяКоманды = "Команда1";
Действие при нажатии кнопки
Когда пользователь нажимает на кнопку, выполняется действие, которое определяется в процедуре, привязанной к команде. В данном примере кнопка просто выводит сообщение.
Сообщить("Кнопка нажата");
Полный код
Ниже представлен полный код с подробными комментариями:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ)
// Создается новая команда в коллекции команд формы с уникальным именем.
НоваяКоманда = ЭтаФорма.Команды.Добавить("Команда1");
// Устанавливаем заголовок команды, который будет отображаться на кнопке.
НоваяКоманда.Заголовок = "Кнопка";
// Привязываем действие, которое выполнится при нажатии на кнопку.
НоваяКоманда.Действие = "НажатиеКнопки";
// Добавляем элемент на форму. Это будет кнопка.
НоваяКнопка = ЭтаФорма.Элементы.Добавить("Кнопка", Тип("КнопкаФормы"), ЭтаФорма);
// Привязываем созданную команду к кнопке.
НоваяКнопка.ИмяКоманды = "Команда1";
КонецПроцедуры
&НаКлиенте
Процедура НажатиеКнопки(Команда)
// Выводим сообщение при нажатии кнопки.
Сообщить("Кнопка нажата");
КонецПроцедуры