Студия/Поле со списком

From SunFlurry wiki
Jump to: navigation, search

Поле со списком используется, когда необходимо выбрать одно из нескольких простых перечисляемых значений. Значением данного визуального элемента (Value) является список, выбранный элемент которого (List.SelectedLine) совпадает с выбранным элементом поля. При редактировании в Студии список можно заполнить (задать как значения, так и их представления, см. Список), однако, значения, заполняемые в Студии могут быть только текстовыми (текстовые значения также автоматически превращаются в числовые, при необходимости), поэтому, при привязке поля со списком к реквизитам объекта, имеющим тип не строка, число или дата, список необходимо заполнить программно при открытии формы (к примеру, с помощью визуального события OnInitCombobox). Поля со списком имеют следующие визуальные свойства:

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


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

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