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

From SunFlurry wiki
Jump to: navigation, search

Редактируемое поле используется как самый простой интерфейс ввода данных оператором. Значение поля может содержать информацию любого типа, и система способна автоматически изменять вид поля и его маску редактирования в соответствии с типом данных поля (к примеру, при редактировании даты, будет использована обычная маска для ввода даты XX.XX.XXXX, а при редактировании справочника "Номенклатура" элемент можно будет выбрать с помощью связанной кнопки "..."). Обычно поле может содержать только одно значение, однако, существует режим, когда поле содержит списки значений, к примеру, для использования в фильтрах запросов. Поле может быть как линейным (одна строка текста), так и занимать несколько строк. Редактируемые поля имеют следующие визуальные свойства:

  • Закладка Визуальные:
    • Caption (заголовок) -- задает текст, который будет выведен на форме внутри этого поля. Обычно, однако, значение поля используется, как его содержимое (см. Value), а заголовок может быть использован для изменения визуального значения поля, без изменения его реального, к примеру, это необходимо в случае, если поле содержит списки значений и программа сама подбирает представление поля в зависимости от содержания его списков.
    • Anchor (якоря) -- задает якоря визуального элемента.
    • Top, Left (координата верхнего левого угла) -- задает координату (в точках) верхнего левого угла элемента относительно начала формы.
    • Width, Height (высота и ширина) -- задает высоту и ширину (в точках) элемента.
    • MaxWidth, MaxHeight (максимальная высота и ширина) -- задает максимальную высоту и ширину (в точках) элемента. Иногда бывает необходимо ограничить увеличение размера элемента вместе с размерами формы, так как излишнее увеличение может ухудшить читаемость и осложнить работу с элементом. К примеру, слишком длинное поле редактирования неудобно для чтения и т.п. Максимальные размеры позволяют ограничить увеличение элементов до приемлемых величин.
    • Layer (слой формы) -- задает слой формы, которому принадлежит текущий элемент. Для описания редактора слоев, см. следующую статью.
    • HAlign (горизонтальное выравнивание) -- задает горизонтальное выравнивание текста поля. Текст может выравниваться по левому краю, по правому краю или по середине.
    • Font (шрифт элемента) -- задает шрифт, размер и цвет текста элемента. Для описания редактора шрифтов, см. следующую статью.
    • FontColor (цвет текста элемента) -- задает цвет текста элемента. Для описания редактора цветов, см. следующую статью.
    • Color (цвет фона элемента) -- задает цвет фона элемента. Для описания редактора цветов, см. следующую статью.
    • IsDisabled (недоступность элемента) -- устанавливает режим недоступности элемента. При установке режима на поле редактирования, оно становится недоступно (невозможно даже выделить содержимое и поместить его в буфер обмена).
    • IsReadOnly (запрет редактирования элемента) -- устанавливает режим запрета редактирования поля. Обычно этот режим используется по умолчанию, если поле имеет тип данных, связанный с базой данных. Пользователь сможет выделять и помещать в буфер текстовое представление поля, но не сможет изменять его с помощью редактора.
    • IsInvisible (невидимость элемента) -- элемент (и его связанных элементы) становится невидимым в рабочем режиме. В режиме редактирования в Студии, элемент по-прежнему отображен.
    • IfResizeWithParentX, IfResizeWithParentY (привязка размеров к группе элементов) -- Особые установки, работающие совместно с MaxWidth и MaxHeight, если последние заданы для группы элементов, на которой находится текущий элемент, его размеры будут привязаны не к самой форме, а к элементу группы. Без такого условия, невозможно было бы использовать MaxWidth и MaxHeight для форм со сложным расположением элементов.
    • Hint (всплывающая подсказка) -- определяет текст всплывающей подсказки при наведении курсора мыши на элемент. Если свойство не задано (пустая строка), подсказка не будет выводиться.
    • AttachedButtons (связанные элементы) -- задает связанные элементы (доп. кнопки), используемые совместно с данным. Для описания редактора связанных элементов см. следующую статью.
  • Закладка Данные:
    • Name (наименование) -- задает наименование элемента, с помощью которого к нему можно будет обращаться из программных модулей. Если свойства элемента не будут изменяться программно, наименование можно оставить пустым.
    • Length (длина поля в символах) -- задает максимальное количество символов, которое может быть введено в это поле.
    • IsMultiLine (многострочное поле) -- задает режим редактирования, когда в поле может быть введены переводы строк.
    • Mask (маска редактирования поля) -- задает маску редактирования поля. Маска может задаваться Студией автоматически, при изменении типа поля, см. также Редактор типов данных и маска редактирования.
    • DBSource (привязка к данных базы данных) -- задает привязку данного поля к реквизитам текущего объекта или свободным объектам базы данных. В зависимости от типа некоторые свойства поля могут быть автоматически изменены. Также может быть задан режим, когда поле содержит списки значений. См. Редактор типов данных.
    • IsInEnterChain (включение в Enter-цепочку) -- задает режим включения данного элемента в цепочку обхода элементов с помощью клавиши Enter. При вводе информации на форме, когда требуется это сделать быстро, возникает необходимость использовать только клавиатуру, так как использовании мыши может замедлить ввод. Обычно без использования мыши, оператор может активировать элемент с помощью комбинации клавиш Tab или Shift-Tab, однако, эти комбинации последовательно активируют все элементы формы, для которых возможно редактирование. В формах ввода, которые используются очень часто, удобно пропускать элементы, которые обычно не участвуют в редактировании. Для этого существует особая очередь элементов, которые будут последовательно активированы с помощью клавиши Enter, так называемая Enter-цепочка. Такая очередь позволяет оператору быстро обойти нужные элементы при вводе информации и сохранить содержимое формы с тем, чтобы начать ввод новой. См. редактор Enter-цепочки.
    • IfSetChangeFlag (установка флага модифицированности формы) -- задает режим, когда при изменении этого элемента, на форме автоматически устанавливается флаг модифицированности. Важно понимать, что если элемент привязан к реквизитам редактируемого объекта, его изменение автоматически установит этот флаг, вне зависимости от статуса использования этого режима, поэтому, режим имеет значение только для элементов, не привязанных к реквизитам редактируемого объекта.
    • IfNotInSettings (не сохраняется в установках формы) -- задает режим, когда при сохранении установок (состояния) формы, состояние данного элемента не будет записано совместно с состоянием других элементов. При чтении установок, этот элемент будет всегда иметь значение по умолчанию. Такой флаг удобно устанавливать, к примеру, для таблиц, содержащих расчетную информацию.
    • IsPassword (режим ввода пароля) -- задает поля редактирования, когда введенная в него текстовая информация будет отображена в виде знаков *. Обычно такой режим используется для полей ввода паролей.
    • HotKey (комбинация клавиш для активации элемента) -- задает комбинация клавиш для мгновенной активации элемента. Для описания редактора горячих клавиш см. следующую статью.
  • Закладка События предоставляет доступ к следующим событиям (см. Визуальные события):
    • OnBeforeChange -- событие, возникающее до принятия нажатия клавиши.
    • OnAfterChange -- событие, возникающее после любого изменения в поле.
    • OnEnter -- событие, возникающее при активации поля (получения курсора).
    • OnExit -- событие, возникающее при деактивации поля (потери курсора).
    • OnRightClick -- событие, возникающее при правом клике по полю мышью.
    • OnAttachedButtons -- событие, возникающее при нажатии на связанный элемент (кнопку).
    • OnBeforeSelect -- событие, возникающее в момент выбора элемента справочника или документа в поле.
    • OnBeforeEditObject -- событие, возникающее до открытия формы редактирования (или просмотра) объекта, содержащегося в поле.

Особые комбинации клавиш, используемые при редактировании полей в визуальном клиенте (данные комбинации также применимы к полям, используемым для редактирования ячеек в табличных элементам или электронных таблицах):

  • F4 или любая литерная или цифровая клавиша (только в случае, когда поле имеет режим только для чтения IsReadOnly) -- осуществляет действие, совпадающее с кликом мышью на связанную кнопку "..." (_AB_CHOOSE). Если связанный элемент _AB_CHOOSE не привязан к полю редактирования, нажатие на "F4" не будет выполнять никакого действия.
  • Shift+F4, Backspace -- осуществляет действие, совпадающее с кликом мышью на связанную кнопку "X" (_AB_CLEAR). Если связанный элемент _AB_CHOOSE не привязан к полю редактирования, использование указанных комбинаций не будет выполнять никакого действия.


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

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