Введение в DELPHI

       

Регистрация Редактора Свойств


Новый Редактор Свойств готов, осталось только его зарегистрировать в среде Delphi. Для этого в интерфейсной части модуля с нашим редактором требуется поместить декларацию процедуры Register, а в части implementation написать следующее: procedure Register; begin RegisterPropertyEditor(TypeInfo(String), TControl, 'Hint', THintProperty); end;

Как уже сообщалось выше, один и тот же редактор свойств можно "привязать" к свойствам, в зависимости от их названия или типа объекта. Это определяется параметрами (второй и третий), которые передаются во время регистрации в процедуре RegisterPropertyEditor. Возможны четыре варианта:

Класс компонентыИмя свойстваДля каких свойств
Nil''совпадает тип свойства
Nil'Name'Тип свойства + Имя свойства
TClass''Тип свойства + класс компоненты
TClass'Name'Тип свойства + Имя свойства+ класс компоненты

Пояснение к таблице. Если вы зарегистрировали Редактор и указали как класс компоненты, так и имя свойства, то данный редактор "привязывается" ко всем свойствам, которые:

  • имеют тип, указанный в первом параметре процедуры;
  • принадлежат компоненте, которая относится к классу (или его потомкам), указанному во втором параметре;
  • имеют имя, совпадающее с указанным в третьем параметре;

Если вместо типа класса в процедуре регистрации стоит Nil, а вместо имени свойства - пустая строка '', то данный редактор "привязывается" ко всем свойствам, которые имеют тип, указанный в первом параметре, независимо от их имени или принадлежности к объекту какого-либо класса.

Если указан только класс, то редактор относится ко всем свойствам указанного типа для объектов указанного класса.

Если указано только имя, то редактор относится к свойствам указанного типа, которые имеют указанное имя.

В нашем случае Редактор Свойств зарегистрирован для всех свойств, которые имеют тип String, относятся к компоненте класса TControl или наследника от него и имеют имя 'Hint'.



Содержание раздела