Студия/Пользовательский компонент интерфейса

From SunFlurry wiki
(Redirected from Студия/Макрос)
Jump to: navigation, search

Пользовательский компонент интерфейса (далее макрос) представляет собой произвольный набор визуальных элементов, собранных вместе в одну подчиненную форму, которую можно поместить в любое место редактируемых форм. Обычно такие наборы элементов создаются для часто используемых частей интерфейса. К примеру, заголовков справочников, которые почти всегда включают код и наименование, набора кнопок для формирования отчета и пр. Макросы имеют собственную ветку в редакторе конфигурации проекта, добавление новых макросов осуществляется из редактора конфигурации, обычно открытие форм макросов для редактирования также происходит там, однако, макрос можно открыть для редактирования непосредственно из формы на которой он располагается, достаточно двойного клика по его поверхности. При загрузке формы макросы не имеют своего модуля, только форму, поэтому, все программные действия, выполняемые макросами, должны быть выполнены в виде обработчиков визуальных событий. Кроме того, так как формы макросов располагаются вне веток объектов проекта, и могут использоваться в разных объектах, поля и таблицы, используемые в макросах, не могут быть сопоставлены с реквизитами объектов непосредственно в Студии, поэтому после загрузки макроса, необходимо использовать функции BindToProperty и BindToObject чтобы создать такое сопоставление.

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

Макросы поля имеют следующие визуальные свойства:

  • Закладка Визуальные:
    • Anchor (якоря) -- задает якоря визуального элемента.
    • Top, Left (координата верхнего левого угла) -- задает координату (в точках) верхнего левого угла элемента относительно начала формы.
    • Width, Height (высота и ширина) -- задает высоту и ширину (в точках) элемента.
    • MaxWidth, MaxHeight (максимальная высота и ширина) -- задает максимальную высоту и ширину (в точках) элемента. Иногда бывает необходимо ограничить увеличение размера элемента вместе с размерами формы, так как излишнее увеличение может ухудшить читаемость и осложнить работу с элементом. К примеру, слишком длинное поле редактирования неудобно для чтения и т.п. Максимальные размеры позволяют ограничить увеличение элементов до приемлемых величин.
    • Layer (слой формы) -- задает слой формы, которому принадлежит текущий элемент. Для описания редактора слоев, см. следующую статью.
    • IsDisabled (недоступность элемента) -- устанавливает режим недоступности для всех элементов макроса.
    • IsInvisible (невидимость элемента) -- элемент (и его связанных элементы) становится невидимым в рабочем режиме. В режиме редактирования в Студии, элемент по-прежнему отображен.
    • IfResizeWithParentX, IfResizeWithParentY (привязка размеров к группе элементов) -- Особые установки, работающие совместно с MaxWidth и MaxHeight, если последние заданы для группы элементов, на которой находится текущий элемент, его размеры будут привязаны не к самой форме, а к элементу группы. Без такого условия, невозможно было бы использовать MaxWidth и MaxHeight для форм со сложным расположением элементов.
    • Hint (всплывающая подсказка) -- определяет текст всплывающей подсказки при наведении курсора мыши на элемент. Если свойство не задано (пустая строка), подсказка не будет выводиться.
  • Закладка Данные:
    • Name (наименование) -- задает наименование элемента, с помощью которого к нему можно будет обращаться из программных модулей. Если свойства элемента не будут изменяться программно, наименование можно оставить пустым.
    • IsInEnterChain (включение в Enter-цепочку) -- задает режим включения данного элемента в цепочку обхода элементов с помощью клавиши Enter. При вводе информации на форме, когда требуется это сделать быстро, возникает необходимость использовать только клавиатуру, так как использовании мыши может замедлить ввод. Обычно без использования мыши, оператор может активировать элемент с помощью комбинации клавиш Tab или Shift-Tab, однако, эти комбинации последовательно активируют все элементы формы, для которых возможно редактирование. В формах ввода, которые используются очень часто, удобно пропускать элементы, которые обычно не участвуют в редактировании. Для этого существует особая очередь элементов, которые будут последовательно активированы с помощью клавиши Enter, так называемая Enter-цепочка. Такая очередь позволяет оператору быстро обойти нужные элементы при вводе информации и сохранить содержимое формы с тем, чтобы начать ввод новой. См. редактор Enter-цепочки.


Дополнительная информация:

  • Для работы со свойствами объектов формы из программы, см. статью Форма.