Иллюстрированный самоучитель по Kylix


Листинг 19 11 Процедура регистрации нового редактора свойствprocedure Register; begin



Листинг 19.11. Процедура регистрации нового редактора свойств

procedure Register; begin

RegisterPropertyEditor (TypeInfо(String), TControl, 'Hint',
THintProperty); end;

Данная процедура позволяет привязать один и тот же редактор к свойствам, в зависимости от их названия или типа. Это определяется параметрами, которые передаются процедуре RegisterPropertyEditor. Первый параметр определяет тип свойства (в нашем примере это String). Второй параметр определяет класс компонента. Третий параметр позволяет указать имя свойства, четвертый — имя редактора свойства.

Для того чтобы установить новый редактор свойств в Kylix, необходимо выполнить следующие шаги:

1. Выбрать пункт меню Component/Install Components.

2. Нажать кнопку Add.

3. Указать имя подключаемого модуля.

После того как произойдет компиляция библиотеки, можно создать новую форму и разместить на ней какой-либо компонент, после чего установите у этого компонента свойство ShowHint в true и нажмите кнопку <...> в свойстве Hint. Вы увидите на экране новый многострочный редактор для свойства Hint.

Команды Default и NoDefault

Итак, мы уже умеем создавать свойства произвольного типа для собственного компонента. Осталось заметить, что многим свойствам можно присвоить конкретное значение, которое будет установлено по умолчанию. Для этого достаточно присвоить это значение полю компонента, например:

FMyProperty := 10;

В результате этого при каждом добавлении компонента на форму двойство MyProperty будет принимать значение 10.

Команды Default и NoDefault применяются для ускорения процесса загрузки формы при работе приложения. Например,

property MyCount: Integer read FMyCount write FmyCount Default 0;

Данный код не присваивает значение 0 свойству MyCount. При выполнении вышеприведенного кода команда default 0 означает следующее: если при сохранении формы, содержащей компонент, значение свойства MyCount не — будет равно нулю, то новое значение сохранится в файле формы, иначе значение данного свойства не будет сохранено.

Примечание

Рекомендуется использовать команду Default во всех случаях, когда это возможно, если вы хотите создать быстро работающее приложение.

Команда NoDefault предназначена для нейтрализации команды Default. Команда применяется для отмены команды Default компонентов-предков. Пример использования команды NoDefault:

TSecondComponent = class (TMyButton)
published
property MyCount NoDefault 0;



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


Книжный магазин