Кнопка.Заголовок

Свойства · Caption

Тип: Строка. Содержит текст на кнопке.

Полное описание, параметры и ограничения

Кнопка.Заголовок (Button.Caption)

Кнопка (Button)

Заголовок (Caption)

Доступен, начиная с версии 8.0.

Использование:
Чтение и запись.
Описание:
Тип: Строка.
Содержит текст на кнопке.
Доступность:

Толстый клиент.

Примечание:
Если текст не умещается по ширине, видимый текст будет заканчиваться троеточием. Если многострочный текст не умещается по высоте, то он будет прижат к верхней границе независимо от установленного способа выравнивания по вертикали, не уместившиеся строки не будут показаны.
Использование в версии:

Доступен, начиная с версии 8.0.

Методическая информация

Практические примеры

Добавить картинку и сочетание к собственной кнопке

PNG встроен в код. Две строки заголовка и Ctrl+Shift+F9 относятся к одной реальной команде добавления учебной книги.

Где и как запускать

Полный модуль собственной обычной формы. Только толстый клиент с обычными формами; экспортные обработчики получают первым параметром инициирующий Элемент. Конструктор Действие выбирает процедуру, но не отменяет параметры события.

Подготовка

  1. Создайте отдельную внешнюю обработку с обычной формой, запускайте толстым клиентом в режиме обычных форм.

  2. Добавьте реквизит УчебноеКоличество (Число 9.0), обычную кнопку УчебнаяКнопка и элемент Надпись с именем УчебнаяНадпись. Реквизиты рабочих объектов не используются.

  3. В событии ПриОткрытии формы укажите процедуру ПриОткрытии из полного модуля. Кнопка и надпись получают действия через УстановитьДействие; вручную обработчики их Нажатие не назначайте.

  4. Каждый урок заменяет полный модуль своей копии формы. Количество и подписи живут только до закрытия формы; запись и внешние команды отсутствуют.

Процедура ПриОткрытии()
    УчебноеКоличество = 3;
    Кнопка = ЭтаФорма.ЭлементыФормы.УчебнаяКнопка;
    Надпись = ЭтаФорма.ЭлементыФормы.УчебнаяНадпись;
    Кнопка.Заголовок = "Добавить одну учебную книгу";
    Кнопка.УстановитьДействие("Нажатие", Новый Действие("ДобавитьОднуКнигу"));
    Надпись.Заголовок = "Учебных книг: 3";
    Надпись.Формат = "";
    Кнопка.Картинка = Новый Картинка(Base64Значение("iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAArklEQVR4nO3VOxKAIAxF0SzEtbgk99/FRhuE8F4+0lCkc3LPCDOIqsrKWRrfADfguE7tTSlgFI1iSuIMoiyOIkrjD8BE/BE3/0R5/AWMEFXn/om7Ae0SbxwGWOcYiY8QMGCGIL7jAMhyNO4GTC4We0w+QC/GxsOANsrGIQCLiMTDACaeDmDjFCDrPZjFTUAmwmqYgKSHSUKACALZDQE8CHQvDEAwnl0uQOZsgKwG3AxgSxA9ZssYAAAAAElFTkSuQmCC"));
    Кнопка.ПоложениеКартинки = ПоложениеКартинкиКнопки.Лево;
    Кнопка.РазмерКартинки = РазмерКартинки.Пропорционально;
    Кнопка.Заголовок = "Добавить книгу" + Символы.ПС + "Только учебное число";
    Кнопка.МногострочныйРежим = Истина;
    Кнопка.СочетаниеКлавиш = Новый СочетаниеКлавиш(Клавиша.F9, Ложь, Истина, Истина);
    Сообщить(ТипЗнч(Кнопка.Картинка) = Тип("Картинка"));
    Сообщить(Кнопка.ПоложениеКартинки = ПоложениеКартинкиКнопки.Лево);
    Сообщить(Кнопка.РазмерКартинки = РазмерКартинки.Пропорционально);
    Сообщить(Кнопка.МногострочныйРежим);
КонецПроцедуры

Процедура ДобавитьОднуКнигу(Элемент) Экспорт
    УчебноеКоличество = УчебноеКоличество + 1;
    ЭтаФорма.ЭлементыФормы.УчебнаяНадпись.Заголовок = "Учебных книг: " + Строка(УчебноеКоличество);
    Сообщить("Собственное количество: " + Строка(УчебноеКоличество));
КонецПроцедуры

Разбор по шагам

  1. Картинка создаётся из собственных встроенных байтов PNG 32×32, без файла, макета или скачивания.

  2. Лево определяет место картинки на кнопке. Пропорционально сохраняет соотношение сторон.

  3. Символы.ПС создаёт реальный перевод строки, МногострочныйРежим разрешает многострочный заголовок.

  4. Сочетание Ctrl+Shift+F9 запускает то же действие при отсутствии конфликта сочетаний клиента.

  5. Изображение и длинный заголовок не меняют процедуру: она увеличивает только собственное число.

Как проверить результат

  1. При открытии четыре Истина.

  2. Кнопка и допустимое сочетание меняют число 3→4; внешний вид проверьте при своём масштабе.

Ожидаемый результат

Картинка, многострочная подпись и сочетание показаны на реальной собственной команде.

На что обратить внимание

  1. Пропорционально не означает размер PNG в пикселях.

  2. При конфликте сочетаний используйте мышь и выберите другое свободное сочетание.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Создать меню с действием и пройти операции коллекции

Собственное меню содержит Добавить и Проверить. Временный пункт вставляется, перемещается и удаляется до показа формы.

Где и как запускать

Полный модуль собственной обычной формы. Только толстый клиент с обычными формами; экспортные обработчики получают первым параметром инициирующий Элемент. Конструктор Действие выбирает процедуру, но не отменяет параметры события.

Подготовка

  1. Создайте отдельную внешнюю обработку с обычной формой, запускайте толстым клиентом в режиме обычных форм.

  2. Добавьте реквизит УчебноеКоличество (Число 9.0), обычную кнопку УчебнаяКнопка и элемент Надпись с именем УчебнаяНадпись. Реквизиты рабочих объектов не используются.

  3. В событии ПриОткрытии формы укажите процедуру ПриОткрытии из полного модуля. Кнопка и надпись получают действия через УстановитьДействие; вручную обработчики их Нажатие не назначайте.

  4. Каждый урок заменяет полный модуль своей копии формы. Количество и подписи живут только до закрытия формы; запись и внешние команды отсутствуют.

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

Процедура ДобавитьОднуКнигу(Элемент) Экспорт
    УчебноеКоличество = УчебноеКоличество + 1;
    ЭтаФорма.ЭлементыФормы.УчебнаяНадпись.Заголовок = "Учебных книг: " + Строка(УчебноеКоличество);
    Сообщить("Собственное количество: " + Строка(УчебноеКоличество));
КонецПроцедуры

Процедура ПоказатьКоличествоКниг(Элемент) Экспорт
    Сообщить("Проверка только собственной формы: " + Строка(УчебноеКоличество));
КонецПроцедуры

Разбор по шагам

  1. Кнопки — readonly-ссылка на собственную коллекцию меню, но её элементы можно добавлять и удалять.

  2. Очистить применяется только к новой собственной кнопке, не к командной панели рабочей формы.

  3. Вставить имеет первый аргумент индекс, Добавить — имя. Разделитель не получает Действие.

  4. Сдвинуть работает с конкретным пунктом, Удалить — с проверенным индексом. Удалённый Временный далее не используется.

  5. Найти ищет внутреннее имя, не пользовательский Текст. Проверка количества предшествует Получить(0).

  6. ИзменяетДанные различает действие, меняющее собственный реквизит, и диагностику. Это не запись в базу.

  7. Проверить является действием, поэтому его дочернее меню пусто. Пометка не равна запуску команды.

Как проверить результат

  1. Восемь сообщений Истина при открытии; временный пункт исчезает до показа меню.

  2. В меню Добавить книга увеличивает число, Проверить своё число только сообщает его.

  3. Повторное открытие создаёт своё меню заново, рабочие команды не затронуты.

Ожидаемый результат

Все методы коллекции меню и свойства собственного пункта показаны с реальными действиями.

На что обратить внимание

  1. Удалить получает индекс, не объект пункта: не путайте его со Сдвинуть.

  2. Не копируйте Очистить в чужую панель с рабочими кнопками.

  3. КнопкаПоУмолчанию и Пометка не заменяют привязку действия.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.