Это старая версия документа!
Для корректного отображения формы в различных графических режимах используется макет формы. Для этого у формы должен быть реквизит «ДоступныеЭлементыФормы» с произвольным типом. Стандартный реквизит формы «Исп. только видимую область» должен быть установлен в значение ложь. В событии ПриОткрытии для отрисовки формы по макету нужно выполнить код:
ДоступныеЭлементыФормы = РасположитьЭлементыНаФорму(ЭтаФорма);
Получение текста макеты выполняется функцией
Функция ПолучитьМакетФормы() Экспорт
в модуле формы.
Узел первого уровня «Форма».
Узел второго уровня - «Режим». Узел описывает для конкретного граф. режима. Атрибуты:
| Атрибут | Описание | Обязательный |
|---|---|---|
| НомерРежима | 0 - 640×480, расширенный; 1 - 640х480, нерасширенный; 2 - 800х600, расширенный; 3 - 800х600, нерасширенный; 4 - 1024х768, расширенный; 5 - 1024х768, нерасширенный | да |
| Подложка | Имя элемента справочника картинки | Нет |
| Ширина | Ширина формы | да, если не указан атрибут Подложка |
| Высота | Высота формы | да, если не указан атрибут Подложка |
В макете адаптивного интерфейса атрибут НомерРежима не указывается, первый узел Режим используется для расширенного режима, второй для нерасширенного. Числовые атрибуты указываются в долях единицы.
Например, Ширина=«0.50» в адаптивном интерфейса означает, что ширина формы или элементы будет иметь размером в половину экрана. Лево=«0.1» - отступ 10% от ширина экрана.
Размер шрифта рассчитывается как процент от высоты элемента, т.е. если высота элемента составляет 28 пикселей, то чтобы размер шрифта был 14, нужно указать ШрифтРазмер=«0.5».
Узел третьего уровня - элемент формы. Атрибуты:
| Атрибут | Описание | Обязательный |
|---|---|---|
| Лево | Лево | Нет |
| Верх | Верх | Нет |
| Ширина | Ширина | Нет |
| ФункцияКод | Код раскладки клавиатуры для нажатия данной кнопки | Нет |
| КнопкаКод | Код кнопки | Нет |
| ШрифтРазмер | Размер шрифта | Нет |
| ДоступноНажатие | истина - если это кнопка | Нет |
| Динамический | истина - если элемента нет на форме, ложь - элемент уже есть на форме | Нет |
| Видимость | Видимость элемента | Нет |
| Залипаемая | Залипаемая кнопка | Нет |
Пример макета для неадаптивного интерфейса:
<?xml version="1.0" encoding="windows-1251" ?>
<Форма>
<Режим НомерРежима = "0" Подложка="пл_ВыборОтложенногоЧека">
<СписокЧеков Лево="17" Верх="15" Ширина="346" Высота="281" ШрифтРазмер="10" ДоступноНажатие="ложь" Динамический="ложь"/>
<СтрелкаВверх Лево="382" Верх="224" КнопкаКод="66" ФункцияКод="18" ДоступноНажатие="истина" Динамический="истина"/>
<СтрелкаВниз Лево="382" Верх="260" КнопкаКод="67" ФункцияКод="19" ДоступноНажатие="истина" Динамический="истина"/>
<Ввод Лево="382" Верх="150" КнопкаКод="64" ФункцияКод="12" ДоступноНажатие="истина" Динамический="истина"/>
<Выход Лево="382" Верх="15" КнопкаКод="84" ФункцияКод="11" ДоступноНажатие="истина" Динамический="истина"/>
</Режим>
<Режим НомерРежима = "1" Подложка="пл_ВыборОтложенногоЧека">
<СписокЧеков Лево="17" Верх="15" Ширина="346" Высота="281" ШрифтРазмер="10" ДоступноНажатие="ложь" Динамический="ложь"/>
</Режим>
<Режим НомерРежима = "2" Подложка="пл_ВыборОтложенногоЧека">
<СписокЧеков Лево="17" Верх="15" Ширина="346" Высота="281" ШрифтРазмер="10" ДоступноНажатие="ложь" Динамический="ложь"/>
<СтрелкаВверх Лево="382" Верх="224" КнопкаКод="66" ФункцияКод="18" ДоступноНажатие="истина" Динамический="истина"/>
<СтрелкаВниз Лево="382" Верх="260" КнопкаКод="67" ФункцияКод="19" ДоступноНажатие="истина" Динамический="истина"/>
<Ввод Лево="382" Верх="150" КнопкаКод="64" ФункцияКод="12" ДоступноНажатие="истина" Динамический="истина"/>
<Выход Лево="382" Верх="15" КнопкаКод="84" ФункцияКод="11" ДоступноНажатие="истина" Динамический="истина"/>
</Режим>
<Режим НомерРежима = "3" Подложка="пл_ВыборОтложенногоЧека">
<СписокЧеков Лево="22" Верх="19" Ширина="443" Высота="360" ШрифтРазмер="13" ДоступноНажатие="ложь" Динамический="ложь"/>
</Режим>
<Режим НомерРежима = "4" Подложка="пл_ВыборОтложенногоЧека">
<СписокЧеков Лево="22" Верх="19" Ширина="443" Высота="360" ШрифтРазмер="13" ДоступноНажатие="ложь" Динамический="ложь"/>
<СтрелкаВверх Лево="489" Верх="289" КнопкаКод="66" ФункцияКод="18" ДоступноНажатие="истина" Динамический="истина"/>
<СтрелкаВниз Лево="489" Верх="332" КнопкаКод="67" ФункцияКод="19" ДоступноНажатие="истина" Динамический="истина"/>
<Ввод Лево="489" Верх="192" КнопкаКод="64" ФункцияКод="12" ДоступноНажатие="истина" Динамический="истина"/>
<Выход Лево="489" Верх="19" КнопкаКод="84" ФункцияКод="11" ДоступноНажатие="истина" Динамический="истина"/>
</Режим>
<Режим НомерРежима = "5" Подложка="пл_ВыборОтложенногоЧека">
<СписокЧеков Лево="22" Верх="19" Ширина="443" Высота="360" ШрифтРазмер="13" ДоступноНажатие="ложь" Динамический="ложь"/>
</Режим>
</Форма>
Пример макета для адаптивного интерфейса:
<?xml version="1.0" encoding="windows-1251" ?>
<Форма>
<Режим Ширина = "0.7" Высота = "0.4">
<СписокЧеков Ширина="0.7" Высота="0.9" Лево="0.025" Верх="0.05" ШрифтРазмер = "0.04" ДоступноНажатие="ложь" Динамический="ложь"/>
<СтрелкаВверх Заголовок = "˄" Ширина="0.2" Высота="0.1" Лево="0.765" Верх="0.73" ШрифтРазмер = "0.5" Цвет = "Б" ФункцияКод="18" ДоступноНажатие="истина" Динамический="истина"/>
<СтрелкаВниз Заголовок = "˅" Ширина="0.2" Высота="0.1" Лево="0.765" Верх="0.85" ШрифтРазмер = "0.5" Цвет = "Б" ФункцияКод="19" ДоступноНажатие="истина" Динамический="истина"/>
<Ввод Заголовок = "Ввод" Ширина="0.2" Высота="0.15" Лево="0.765" Верх="0.5" ШрифтРазмер = "0.3" Цвет = "К" ФункцияКод="12" ДоступноНажатие="истина" Динамический="истина"/>
<Выход Заголовок = "Отмена" Ширина="0.2" Высота="0.15" Лево="0.765" Верх="0.05" ШрифтРазмер = "0.3" Цвет = "Б" ФункцияКод="11" ДоступноНажатие="истина" Динамический="истина"/>
</Режим>
<Режим Ширина = "0.5" Высота = "0.4">
<СписокЧеков Ширина="0.95" Высота="0.9" Лево="0.025" Верх="0.05" ШрифтРазмер = "0.04" ДоступноНажатие="ложь" Динамический="ложь"/>
</Режим>
</Форма>