Студия/Редактор форм

From SunFlurry wiki
Jump to: navigation, search

Редактор форм удовлетворяет технологии WYSIWYG и предназначен для создания и изменения визуальных частей интерфейса взаимодействия пользователя с проектом. Каждая форма хранится в отдельном файле и может быть вызвана на экран в связке с модулем как с помощью программных функций загрузки форм (к примеру, LoadModule), так и автоматически (к примеру, при клике мышью по документу в журнале). Файлы форм представляют собой текстовые файлы в формате ASCII, разделителями строк служат два знака с кодами 13 и 10. Все международные символы внутри файлов закодированы особым образом. Файлы форм содержат информацию о положении и свойствах элементов форм их ссылки на объекты базы данных, закодированный текст визуальных событий.

Подчинение редакторов форм

Окно редактора отображает и позволяет изменять вид и расположение визуальных элементов формы либо закладки группы страниц с закладками. В случае, если отображается закладка группы страниц с закладками, редактор не является независимым и всегда зависит от открытого в этой же группе окон редактора самой формы. Если редактор формы будет закрыт, закрывается также его подчиненный редактор закладки. Если на странице с закладками размещена еще одна группа страниц с закладками, ее редактор страницы будет подчиненным редактором третьего уровня. Система не накладывает ограничений на количество таких уровней, однако, с каждым уровнем интерфейс становится более неудобным для работы. На рисунке 1 дан общий вид окна редактора форм с открытой для редактирования страницей страничного визуального элемента. Красная линия на теле редактора ограничивает область, размер которой совпадает с размером страницы в оригинальном окне редактора. Эта линия дана для удобства разработчика. Основной редактор имеет свою кнопку на группе кнопок первого уровня внизу (см. пункт 6 -- в данном случае основной редактор это кнопка "Form"). При изменении объектов в подчиненном редакторе (к примеру, изменении размеров поля), и сохранении этих изменений, вид страницы в основном редакторе обновляется автоматически, однако, изменения не сохраняются на диск, а остаются как несохраненные внутри основного редактора. Если сохранить изменения в основном редакторе, они будут сохранены на диск. Если необходимо сохранять изменения сразу на диск, необходимо пользоваться кнопкой "Сохранить все изменения".

Интерфейс редактора форм

Окно можно разделить на следующие области (см. рис. 1):

  • 1. Панель инструментов редактора содержит набор кнопок для доступа к добавлению визуальных элементов на форму, а также к некоторым функциям редактора. Ниже дано краткое описание каждой кнопки:
    • Текст -- кнопка позволяет инициировать режим добавления визуального элемента текстового поля на форму.
    • Редактируемое поле -- кнопка позволяет инициировать режим добавления визуального элемента редактируемого поля на форму.
    • Кнопка -- инициирует режим добавления кнопки на форму.
    • Флажок -- инициирует режим добавления флажка на форму.
    • Переключатель -- инициирует режим добавления переключателя на форму.
    • Поле со списком -- инициирует режим добавления поля со списком на форму.
    • Список значений -- инициирует режим добавления списка значений на форму.
    • Группа элементов -- инициирует режим добавления декоративного оформления группы элементов на форму.
    • Картинка -- инициирует режим добавления картинки на форму.
    • Разделитель групп элементов -- инициирует режим добавления разделителя на форму.
    • Группа страниц с закладками -- инициирует режим добавления группы страниц с закладками на форму.
    • Объемный регион оформления -- инициирует режим добавления объемного региона оформления на форму.
    • Таблица значений -- инициирует режим добавления таблицы значений на форму.
    • Внедренная электронная таблица -- инициирует режим добавления электронной таблицы (sft) на форму.
    • Дерево значений -- инициирует режим добавления дерева значений на форму.
    • OLE-объект -- инициирует режим добавления OLE-объекта на форму.
    • Пользовательский компонент интерфейса -- инициирует режим добавления визуального макроса на форму.
    • Редактирование слоев -- открывает редактор слоев для данной формы (страницы).
    • Изменить положение группы элементов -- открывает редактор положения для выбранных элементов.
    • Изменить размеры группы элементов -- открывает редактор размеров для выбранных элементов.
  • 2. Редактор свойств отображает свойства выбранного в данный момент визуального элемента формы. Если ни один из элементов не выбран, редактор отображает свойства самой формы (или страницы элемента станиц с закладками). Если выбрано несколько элементов, редактор будет отображать свойства, которые присутствуют у всех элементов одновременно, при этом их значения будут отображаться только в случае, если данное свойство всех выбранных элементов имеет одно значение. К примеру, если выбраны два элемента: поле редактирования и флажок, в редакторе свойств на закладке "визуальные" будут видны все свойства, кроме HAlign, так как флажки не имеют свойств HAlign. При изменении свойств в таком режиме, они будут меняться одновременно у всех выбранных элементов. В редакторе форм редактор свойств обычно имеет следующие закладки:
    • Визуальные -- закладка содержит все свойства элементов, которые можно отнести к визуальным.
    • Данные -- закладка содержит все свойства элементов, которые связаны с типом данных элементов или их связью с базой данных.
    • События -- закладка содержит события, связанные с этими элементами (либо самой формой).
  • 3. Горизонтальная и вертикальная линейки размеров формы используются для замеров размеров формы, чтобы она не выходила за экран при работе в клиентах с меньшим эффективным разрешением экрана. Отображение линеек можно отключить в пункте "видимость" главного меню.
  • 4. Основное окно редактора, где визуальные элементы можно выделять с помощью клика мыши, перетаскивать, изменять их размеры, добавлять или удалять. Окно работает в режиме WYSIWYG. Основные функции, доступные при работе:
    • Сетка окна редактора -- используется для уменьшения эффективного размера окна при редактировании для упрощения точного расположения элементов относительно друг друга. При добавлении, изменении размеров, перемещении элементов с помощью мыши или клавиатуры, шагом изменения координаты будет на одна точка, а (обычно) 5 точек (одна клетка сетки). Иногда, однако, необходимо более точно настроить положение или размер элемента. В этом случае, при изменении его размеров или положения необходимо удерживать клавишу Ctrl.
    • Левый клик мыши по элементу -- снимает выделение всех элементов и выделяет этот элемент. Для снятия выделения, необходимо кликнуть в любое свободное место формы, не занятое элементом. Для выделения нескольких элементов, необходимо удерживать клавишу Shift во время клика по элементам, либо выделить группу элементов, кликнув на свободную область формы, и, удерживая кнопку мыши, протянуть прямоугольник выделения, чтобы он включал в себя необходимые для выделения элементы. Если ни одного элемента не выделено, редактор свойств будет отображать общие свойства формы.
    • Изменение положения элементов -- осуществляется с помощью перетаскивания их мышью или клавиш движения клавиатуры. При использовании клавиши-модификатора Ctrl, движение будет происходить без учета сетки редактора.
    • Изменение размера элементов -- осуществляется с помощью перетаскивания мышью одного из четырех их граничных индикаторов или клавиш движения клавиатуры совместно с клавишей-модификатором Shift. При использовании клавиши-модификатора Ctrl, изменение размеров будет происходить без учета сетки редактора.
    • Добавление новых визуальных элементов -- Для добавления новых элементов необходимо воспользоваться кнопками панели инструментов. После нажатия на кнопку элемента, который требуется добавить, необходимо кликнуть левой кнопкой мыши на точке, где будет располагаться левый верхний угол и, удерживая кнопку мыши, выделить прямоугольник, в который будет вписан новый элемент. Не все элементы могут иметь произвольные размеры (к примеру, вертикальные размеры полей зависят от их шрифтов).
  • 5. Правый клик мыши по элементу или группе элементов выводит контекстное меню, которое позволяет выполнять следующие операции:
    • Редактировать -- вызов действия по умолчанию для редактирования элемента. К примеру, для кнопок будет вызван редактор модуля, позволяющий задать визуальное событие OnClick, для таблиц будет выведен редактор столбцов заголовков таблиц (см. ниже).
    • Вырезать, копировать, вставить -- производит работу с буфером для копирования и вставки элементов или группы элементов (также можно использовать стандартные клавиши работы с буфером).
    • Удалить -- удаляет элемент или группу элементов (также можно использовать клавишу Del)
    • Поместить в самый верх, Поместить в самый низ -- изменяет глубину положения (z-ось) элементов относительно друг друга. К примеру, при использовании группы элементов, эту функцию удобно использовать для помещения окна группы под остальные элементы.
    • Положение -- подменю содержит дополнительные команды, связанные с изменением положения.
      • Выровнять по сетке -- Команда выравнивает положение и размеры выделенных элементов по сетке окна редактора.
      • Изменение положения элементов... -- Вызывает окно группового изменения положения элементов. Для того, чтобы этот пункт был активным, необходимо выделить более одного элемента.
      • Изменение размера элементов... -- Вызывает окно группового изменения размера элементов. Для того, чтобы этот пункт был активным, необходимо выделить более одного элемента.
    • Поместить на закладку -- подменю, позволяющее перемещать визуальные элементы между закладками группы страниц. Меню активно на подчиненной форме при выделении по крайней мере одного элемента.
    • Поместить в слой -- подменю, позволяющее перемещать визуальные элементы между слоями формы. Меню активно только если форма (или подчиненная форма) имеет более одного слоя.
  • 6. Панель задач содержит все кнопки открытых форм текущего пути. Нижний ряд кнопок (отсутствует на рисунке) позволяет добавить новую форму, модуль или таблицу к текущему объекту с помощью дополнительного бокового меню кнопки.


Изменение положения и размеров элементов при работе с редактором

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

  • При изменении положения или размеров с помощью мыши, и для единственного выделенного элемента и для группы выделенных элементов, курсор выделения имеет 8 белых квадратов, потащив за которые мышью, можно изменить размеры единственного элемента или каждого элемента из группы в нужную сторону. Для перетаскивания элемента или всех элементов группы, достаточно кликнуть на любом из выделенных элементов мышью и перетащить в нужное место формы. Для того, чтобы изменения размеров или положения, происходило не порциями, равными размеру сетки редактора (5 точек), можно удерживать при этом клавишу Ctrl.
  • При изменении положения или размеров с помощью клавиатуры, работают клавиши Left, Right, Up, Down (клавиши направления), которые используются для изменения положения элемента или каждого элемента из группы элементов. При удерживании при этом клавиши Shift, вместо изменения положения, каждый элемент выделения будет изменять размеры (происходит перетаскивание нижней и правой границы элементов). Для того, чтобы изменения размеров или положения, происходило не порциями, равными размеру сетки редактора (5 точек), можно удерживать при этом клавишу Ctrl.
  • Для изменения положения элементов относительно друг друга существует особый диалог, работающий, когда выделено не менее двух элементов, диалог можно вызвать на панели инструментов, а также в правом меню мыши. См. рис. 6, показывающий, как выглядит этот диалог. В диалоге можно выбрать действие независимо для каждого из направлений. Доступны следующие действия:
    • Не изменять -- не передвигать элементы в выбранном направлении.
    • Выровнять по левому краю / Выровнять по верхнему краю -- переместить все элементы группы по горизонтали или вертикали к границе самого левого (верхнего) элемента.
    • Выровнять по правому краю / Выровнять по нижнему краю -- переместить все элементы группы по горизонтали или вертикали к границе самого правого (нижнего) элемента.
    • Выровнять по центру выделения -- переместить все элементы группы по горизонтали или вертикали таким образом, чтобы они оказались в центре прямоугольника текущего выделения группы элементов в требуемом правлении.
    • Выровнять по центру области -- переместить все элементы группы по горизонтали или вертикали таким образом, чтобы они оказались в центре прямоугольника, текущего размера формы, который включает все элементы, размещенные на форме (и выделяется на линейке формы более светлым оттенком).
    • Распределить равномерно по горизонтали / Распределить равномерно по вертикали -- переместить все элементы группы по горизонтали или вертикали таким образом, чтобы расстояние между ними было примерно одинаковым.
  • Для изменения размера элементов сравнительно друг с другом существует особый диалог, работающий, когда выделено не менее двух элементов, диалог можно вызвать на панели инструментов, а также в правом меню мыши. См. рис. 7, показывающий, как выглядит этот диалог. В диалоге можно выбрать действие независимо для каждого из направлений. Доступны следующие действия:
    • Не изменять -- не изменять размеры элементов в выбранном направлении.
    • Установить ширину равной ширине выделения / Установить высоту равной высоте выделения -- изменить размеры всех элементов в требуемом направлении таким образом, чтобы они все были одинаковыми и равными ширине или высоте прямоугольника выделения.
    • Установить ширину равной меньшей ширине / Установить высоту равной меньшей высоте -- изменить размеры всех элементов в требуемом направлении таким образом, чтобы они все были одинаковыми и равными наименьшей ширине или высоте элемента выделения.
    • Установить ширину равной большей ширине / Установить высоту равной большей высоте -- изменить размеры всех элементов в требуемом направлении таким образом, чтобы они все были одинаковыми и равными наибольшей ширине или высоте элемента выделения.
  • Рис. 6. Диалог группового изменения положения элементов
  • Рис. 7. Диалог группового изменения размеров элементов

Визуальные якоря

Для редактирования якорей элемента используется редактор якорей элемента (редактор вызывается из реактора свойств, см. описание элементов). Якоря позволяют изменять размеры визуального элемента при изменении размеров формы. К примеру, если элемент привязан к верхнему левому углу и нижнему правому углу, положение его крайних точек не будет меняться относительно углов формы; и при растягивании формы, элемент будет также растянут. Обычно это удобно использовать для табличных элементов, которые, при открытии на большем экране, будут автоматически увеличиваться до размера окна. Элементы выше таких таблиц обычно должны иметь привязку к верхнему левому углу, чтобы не оказаться внутри растянутой таблицы, кнопки или элементы ниже таблицы, могут иметь привязку к нижнему левому углу. При установке якорей объекта, нужно иметь в виду, по крайней мере один якорь по горизонтали и один якорь по вертикали для любого объекта должен быть установлен. Общий вид редактора показан на рис 2.

Редактор Enter-цепочки

Редактор Enter-цепочки доступен в свойствах формы или подчиненной формы и позволяет определить последовательность обхода экранных элементов, которые могут быть активированы (получить фокус). Редактор задает последовательность как для клавиш Tab и Shift+Tab, так и для клавиши Enter, которая обычно используется при редактировании формы. Enter-цепочка по умолчанию совпадает с последовательностью обхода с помощью клавиши Tab, в данном редакторе можно включить или исключить элементы, всегда входящие в последовательность обхода с помощью Tab в последовательность обхода с помощью Enter, для этого достаточно использовать флажок рядом в строке нужного элемента.

По умолчанию, Tab последовательность и Enter цепочка для формы создается системой автоматически в порядке обхода сверху вниз, затем слева направо. Чтобы задать последовательность обхода по желанию, нужно снять флажок "Использовать автоматический порядок элементов" в заголовке диалога редактора, что сделает доступным таблицу, содержащую все элементы текущей формы или подчиненной формы (см. рис. 3). При выделении элемента в таблице, он будет выделен на форме, чтобы не возникало путаницы на формах с большим количеством одинаковых элементов. Выделенный элемент можно передвинуть вверх или вниз относительно других элементов формы, таким образом меняется его положение в последовательности обхода. Левая кнопка с рисунком ручки позволяет сбросить текущую последовательность в исходное состояние по умолчанию.

Связанные визуальные элементы

Так как кнопки являются очень важным и распространенным элементов интерфейса, система имеет возможность привязки кнопок с особыми заданными действиями практически к любому элементу. Эти кнопки называются связанными элементами и не являются отдельной единицей интерфейса в редакторе форм. Стандартный набор связанных элементов в проекте можно расширить пользовательскими связанными элементами, которые добавляются в редакторе связанных элементов. В программе элементы различаются по их кодам, пользовательские связанные элементы также имеют свои особые коды, кроме того, к стандартным кодам привязан свой набор констант для удобства работы. Связанные элементы делятся на линейные (см. рис. 5), т.е., элементы, которые привязываются к полям или редактируемым ячейкам, когда редактируется всего одно значение и табличные (см. рис. 4), т.е., элементы, привязываемые к таблицам, спискам, деревьям и т.п., когда значений внутри элемента множество.

Стандартные действия, ассоциированные со связанными элементами, зависят от типа элементов. Это может быть обновление таблицы или открытие объекта, выбранного в поле для редактирования. Все эти действия можно заменить программно на необходимые. Наряду с картинкой, связанные элементы могут иметь заголовок, дополнительную кнопку (которая может быть использована, к примеру, для создания меню), разделитель и пр.

  • Рис. 4. Таблица документа с набором связанных элементов
  • Рис. 5. Редактор ячейки и линейные связанные элементы

Свойства формы, доступные в редакторе свойств

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

  • Закладка Визуальные:
    • Caption (заголовок) -- обычно формы имеют стандартный заголовок, определяемый объектом, в ветке конфигурации которого находится форма. Для свободных форм, однако, часто необходимо указать свой заголовок, дополнительно информирующий пользователя.
    • IsResizeable (режим изменения размеров формы) -- режим по умолчанию, разрешающий изменять размер и положение элементов формы, если размер поля формы больше, чем созданный в редакторе форм. Без этого режима форма всегда будет оставаться такой же по размеру, как она была создана в Студии.
    • IsAutoSaveLoadSettings (сохранение и загрузка установок) -- задает режим автоматического сохранения и загрузки установок формы. Установки сохраняются автоматически при закрытии формы и загружаются в момент ее открытия (до вызова визуального события OnOpen). Файл установок зависит от пути и имени формы и сохраняется на сервере.
    • EnterChain (Enter-цепочка) -- позволяет открыть редактор Enter-цепочки для формы или подчиненной формы (закладки группы страниц). При вводе информации на форме, когда требуется это сделать быстро, возникает необходимость использовать только клавиатуру, так как использовании мыши может замедлить ввод. Обычно без использования мыши, оператор может активировать элемент с помощью комбинации клавиш Tab или Shift-Tab, однако, эти комбинации последовательно активируют все элементы формы, для которых возможно редактирование. В формах ввода, которые используются очень часто, удобно пропускать элементы, которые обычно не участвуют в редактировании. Для этого существует особая очередь элементов, которые будут последовательно активированы с помощью клавиши Enter, так называемая Enter-цепочка. Такая очередь позволяет оператору быстро обойти нужные элементы при вводе информации и сохранить содержимое формы с тем, чтобы начать ввод новой. См. редактор Enter-цепочки.
    • LoadModes (режимы загрузки в виде инструментария) -- задает разрешенные режимы загрузки формы в виде окна инструментария. Любой из режимов можно разрешить вне зависимости от остальных режимов. Возможны следующие режимы загрузки формы в виде инструментария (см. LoadToolForm):
      • Глобальный режим -- форма может быть загружена в виде глобального инструментария, не зависящего от вызывавшей формы.
      • Локальный режим -- форма может быть загружена в виде локального инструментария, привязанного к текущей формы, инструментарий будет закрыт автоматически, когда форма закроется.
      • Режим всплывающего окошка -- форма может быть выведена в виде всплывающего окошка (как обычно выводятся подсказки) к текущему визуальному элементу.
    • AutoScaleMode (режим автоматического масштабирования) -- задает режим автоматического подбора коэффициентов масштабирования формы, чтобы ее содержимое занимало все отведенное на экране место. Автоматическое масштабирование отличается от режима изменения размеров формы IsResizeable, в этом режиме производится попытка увеличить масштаб шрифтов и элементов формы, как при использовании функций ScaleFactorX и ScaleFactorY автоматически при изменении размеров формы. Такой режим может использоваться, к примеру, для создания рабочего окна для пользователей с мониторами с высокими DPI. Возможны следующие режимы автоматического масштабирования:
      • Не масштабировать -- обычный режим работы формы, автоматическое масштабирование будет отключено.
      • Масштабировать -- автоматическое масштабирование будет включено, пропорция (отношение высоты к длине) оригинальной формы не будет сохранена (к примеру, форма может быть растянула больше в ширину, чем в высоту).
      • Масштабировать, сохранять пропорцию -- автоматическое масштабирование будет включено, пропорция (отношение высоты к длине) оригинальной формы будет сохранена (часть формы при растягивании останется пустой).
    • CompileModule (указание на модуль компиляции) -- Установка указывает вместе с каким модулем необходимо компилировать визуальные события формы. В зависимости от модуля, событие может иметь доступ к разным функциям и переменным, поэтому, когда объект или обработка имеет несколько модулей, которые используются совместно с разными формами, это указание дает возможность создать корректный стек компиляции на этапе компиляции событий формы. По умолчанию эта установка всегда принимает значение "Module". На этапе выполнения, форму можно использовать с произвольным модулем, вне зависимости от этой установки, но если события формы будут обращаться к функциям, отсутствующим в модуле, с которым была загружена форма, будет создаваться исключение.
  • Закладка События предоставляет доступ к следующим событиям и установкам (см. Визуальные события):
    • OnOpen -- событие, возникающее в момент открытия формы.
    • OnReopen -- событие, возникающее в момент попытки открытия уже существующей свободной формы (к примеру, журнала).
    • OnClose -- событие, возникающее в момент закрытия формы.
    • OnTimer -- событие, возникающее с периодичностью, указанной в переменной OnTimerInterval.
    • OnTimerInterval (интервал возникновения события OnTimer) -- указывает интервал периодичности возникновения события OnTimer для данной формы (в миллисекундах)
    • OnSaveRequest -- событие, возникающее при попытке пользователя или системы сохранить содержимое формы (к примеру, с помощью кнопки "дискета" на панели инструментов).
    • OnStatusChange -- событие, возникающее при возникновении локальных изменений на форме или изменений объекта, редактируемого с помощью формы.
    • OnTaskbarMenuClick -- событие, возникающее после того, как пользователь выберет пункт из встроенного меню на кнопке панели задач.
    • OnMessage -- событие, возникающее при получении формой сообщений, отсылаемых с помощью функций SendMessageToForm, PostMessageToForm и пр.
    • OnSaveSettings -- событие, возникающее до автоматического (либо по требованию пользователя) сохранения установок формы в файл установок на сервере.
    • OnLoadSettings -- событие, возникающее до автоматической (либо по требованию пользователя) загрузки установок формы из файла установок на сервере.
    • OnAfterLoadSettings -- событие, возникающее после загрузки установок формы из файла установок на сервере.

Перечень визуальных элементов, доступных для использования в редакторе форм

В визуальном интерфейсе программ обычно используется ограниченный набор визуальных элементов для взаимодействия с пользователем. Все эти элементы известны, использование каких-нибудь принципиально новых элементов большая редкость. Это правило распространяется на любые графические интерфейсы взаимодействия, включая Web-страницы. Система позволяет использовать все основные элементы интерфейса, изменять их вид, использовать их события, а также, использовать COM-объекты (ActiveX) на формах, изменять их свойства и задавать обработчики их событий. Ниже даны ссылки на статьи с описание всех визуальных элементов. Для описания доступных событий элементов также используйте следующую статью.

  • Текстовое поле используется для вывода текста на форме.
  • Редактируемое поле используется как основной и простейший интерфейс ввода данных оператором.
  • Кнопка используется для инициации оператором программно заданных действий.
  • Флажок используется для изменения простых свойств, имеющих два или три состояния.
  • Переключатель (радио-кнопка) используется для ускорения выбора пользователем цифровых значений с ограниченных количеством вариантов.
  • Поле со списком используется, когда необходимо выбрать одно из нескольких простых перечисляемых значений.
  • Список значений используется для хранения и вывода данных, когда нет необходимости использовать несколько столбцов.
  • Группа элементов используется для декоративного оформления содержания формы.
  • Картинка используется для помещения на форму картинок любого формата.
  • Разделитель групп элементов используется для деления пространства формы вертикально или горизонтально для более удобного изменения размеров элементов в обоих разделах.
  • Группа страниц с закладками используется для размещения большего количества элементов на форме, чем позволяют размеры формы.
  • Объемный регион оформления используется помещения линий и объемных прямоугольников на форму для ее оформления.
  • Таблица значений является наиболее универсальным визуальным элементом для хранения произвольного числа данных одинаковой структуры.
  • Внедренная электронная таблица позволяют использовать на форме таблицу, строки которой не имеют одинаковой высоты, группы ячеек могут объединяться и т.д.
  • Дерево значений используются для показа древовидной структуры элементов, к примеру, папок справочника.
  • OLE-объекты добавляются на форму для расширения функциональности визуального интерфейса.
  • Макросы используются для выделения часто используемых частей визуального интерфейса в отдельные наборы, которые можно добавлять на любые формы.