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