Редактор параметров (TValueListEditor)
В ЭТОМ разделе МЫ рассмотрим компонент TValueListEditor. Это очень удобный компонент для редактирования различных свойств. Например, с помощью этого компонента можно легко создать редактор свойств наподобие того, что используется в объектном инспекторе, где вы изменяете свойства компонентов.
Создайте новый проект и поместите на форму один такой компонент. Рассмотрим его основные свойства.
- Defauitcoiimnwidth - ширина колонок по умолчанию.
- DefaultedimnHeight- ВЫСОТа КОЛОНОК ПО уМОЛЧаНИЮ.
- DisplayOption — опции отображения компонента. Здесь вам доступны три подпункта:
- doColumnTitles — нужно ли показывать заголовки колонок;
- doAutoCoiResize — могут ли колонки автоматически изменять размер;
- doKeyCoiFixed — является ли ключевая колонка фиксированной.
- TitieCaptions — имена заголовков. Щелкните дважды по этому свойству, и вы увидите простой текстовый редактор, в котором можете изменять имена заголовков. Давайте введем там только два заголовка: Свойство и Установленное значение.
- Fixedcolor — цвет фиксированной колонки.
- Fixedcois — индекс фиксированной колонки. По умолчанию стоит 0, т. е. фиксированной колонки нет. Измените это значение на 1, чтобы сделать первую колонку фиксированной.
- KeyOption— настройки ключевого поля. Их бесполезно менять, если вы установили в свойстве Fixedcois какое-либо значение.
- key Edit — название ключа можно редактировать;
- keyAdd — ключи можно добавлять;
- keyDeiete — ключи можно удалять;
- keyunique — ключ должен быть уникальным.
- strings— имена свойств (рис. 11.21). Этот редактор состоит из двух колонок. В левой колонке вы должны вводить имена ключей (свойств), а в правой — их значения по умолчанию.
Давайте введем в свойство strings несколько значений для нашего будущего примера: Фамилия, Имя, Отчество, Ник, Год рождения, Место рождения, Адрес, Телефон.
Больше в дизайнере пока нет ничего особенного, заслуживающего нашего внимания. На рис. 11.22 показана форма, которая должна у вас получиться.
Списки свойств имеют одну очень удобную особенность— они могут поддерживать свойства с ниспадающими списками. Это значит, что нужно указать, какое свойство будет иметь ниспадающий список, заполнить его значения, и после этого оно будет работать как свойство выравнивания любого компонента в объектном инспекторе.
Теперь давайте займемся программированием. Создайте обработчик события для формы onshow. В нем напишите код, показанный в листинге:
procedure TFormi.FormShow(Sender: TObj ect); begin
ValueListEditorl.ItemProps[б].EditStyle:=esPickList;
ValueListEditorl.ItemProps[6].PickList.Add('Москва*);
ValueListEditorl.ItemProps[6].PickList.Add('Питер');
ValueListEditorl.ItemProps[6].PickList.Add('Ростов-на-Дону');
ValueListEditorl.ItemProps[4].EditMask:='99/99/9999'; end;
У компонента vaiueListEditor есть одно свойство, которое вы не видите в объектном инспекторе— ItemProps. В нем хранятся свойства элементов списка. Если вы хотите изменить свойства третьего элемента, то надо написать ValueListEditorl. ItemProps [2 ]. Обратите внимание, как и в большинстве компонентов, здесь элементы нумеруются с нуля. Поэтому нужно указывать на 1 меньше необходимого.
Среди свойств элементов есть еще одно интересное свойство—Editstyle (стиль редактирования). Это свойство отвечает за вид элемента. В первой строке кода мы изменяем СТИЛЬ редактирования для шестой строки ValueListEditorl.ItemProps[6] .EditStyle, присваивая ему значение esPickList. Это значение заставляет эту строку превратиться в ниспадающий список. После этого мы заполняем для шестого элемента значения, которые будут находиться в списке. В этом случае надо выполнить код
Еще одно интересное свойство— EditMask (маска ввода для элемента). В последней строке кода нашего примера мы изменяем маску для четвертого элемента.