Delphi 6 -программирование



 

18.2.15. TValueListEditor - специализированный редактор строк

Этот компонент введен в версии 6 и предназначен для редактирования списков строк вида имя=значение. Такие списки широко используются в реестре Windows и файлах инициализации. Наконец. начиная с версии 5 Delphi по умолчанию в таком формате хранит файлы описания форм dfm. Если на пустую форму положить компонент TValueListEditor, диалог TOpenDialog и кнопку TBitBtn, то после загрузки в редактор файла Example. dfm (для учебной формы, описанной в гл. 5) получим экран, показанный на рис. 18.17. Обработчик нажатия кнопки имеет такой вид:

procedure TFor.gif" >

Рис. 18.17. Демонстрация компонента TValueListEditor

property DropDownRows: Integer;

 

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

property ItemProps[const KeyOrIndex: Variant]: TItemProp; 

 

Сложное свойство, управляющее различными аспектами отображения значений (см. пояснения ниже)

type TKeyOption = (keyEdit, keyAdd, keyDelete, keyUnique) ;

TKeyOptions = set of TDisplayOption;

property KeyOptions: TKeyOptions;

 

Управляет возможным изменением списка: keyEdit - пользователь может изменять имя параметра (в первом столбце); keyAdd - пользователь может добавлять новую пару имя-значение нажатием клавиши Insert (требует включения keyEdit); keyDelete -пользователь может уничтожить выделен ную пару нажатием клавиши Delete; keyUnique - названия вводимых пользователем имен должны быть уникальными

property Keys[Index: Integer]:String;

Открывает доступ к названиям значений по их индексам

property RowCount: Integer;

Содержит количество строк

property Strings: TStrings;

Содержит строки списка

property TitleCaptions: TStrings;

Содержит заголовки столбцов

property Values[const Key:String]: String;

Открывает доступ к значениям по их индексам

 

Свойство itemprops класса Titemprop имеет собственные свойства:

property EditMask: String;

Содержит маску для формирования значения. Правила создания маски описаны в п.

18.2.3

type TEditStyle = (esSimple,

esEllipsis, esPickList);

property EditStyle: TEditStyle;

 

Определяет правила редактирования значения: esSimple - значение редактируется в обычном однострочном редакторе; esEllipsis - в строку значения вставляется кнопка для вызова диалогового окна редактора значения (возбуждается событие OEditButtonclick); esPickList - в строку значения вставляется кнопка для раскрытия списка возможных значений (возбуждается событие OnGetPickList)

property MaxLength: Integer;

 

Определяет максимальную длину (в символах) значения. Если 0, нет ограничений на длину

property PickList: TStrings; 

Содержит выпадающий список возможных значений

property Readonly: Boolean;

Разрешает/запрещает редактирование значения

 

Свойство PickList не предназначено для программного доступа. Чтобы создать выпадающий список возможных значений, нужно свойству ItemProp.EditStyle присвоить значение esPickList и написать обработчик события onGetpickList. Пусть, например, первое значение должно иметь выпадающий список. Тогда необходим такой код:

procedure TFor.gif" >

Начало Вперед