Справочное руководство по 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’.



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