Регистрация Редактора Свойств
Новый Редактор Свойств готов, осталось только его зарегистрировать в среде Delphi. Для этого в интерфейсной части модуля с нашим редактором требуется поместить объявление процедуры Register, а в части implementation написать следующее:
procedure Register;
begin
RegisterPropertyEditor(TypeInfo(String), TControl, 'Hint', THintProperty);
end;
Как уже сообщалось выше, один и тот же редактор свойств можно "привязать" к свойствам, в зависимости от их названия или типа объекта. Это определяется параметрами (второй и третий), которые передаются во время регистрации в процедуре RegisterPropertyEditor. Возможны четыре варианта:
Класс компоненты | Имя свойства | Для каких свойств |
Nil | '' | совпадает тип свойства |
Nil | 'Name' | Тип свойства + Имя свойства |
TClass | '' | Тип свойства + класс компоненты |
TClass | 'Name' | Тип свойства + Имя свойства+ класс компоненты |
Если вы зарегистрировали Редактор и указали как класс компоненты, так и имя свойства, то данный редактор "привязывается" ко всем свойствам, которые:
·имеют тип, указанный в первом параметре процедуры;
·принадлежат компоненте, которая относится к классу (или его потомкам), указанному во втором параметре;
·имеют имя, совпадающее с указанным в третьем параметре;
Если вместо типа класса в процедуре регистрации стоит Nil, а вместо имени свойства - пустая строка, то данный редактор "привязывается" ко всем свойствам, которые имеют тип, указанный в первом параметре, независимо от их имени или принадлежности к объекту какого-либо класса.
Если указан только класс, то редактор относится ко всем свойствам указанного типа для объектов указанного класса.
Если указано только имя, то редактор относится к свойствам указанного типа, которые имеют указанное имя.
В нашем случае Редактор Свойств зарегистрирован для всех свойств, которые имеют тип String, относятся к компоненте класса TControl или наследника от него и имеют имя 'Hint'.
Дата добавления: 2015-09-07; просмотров: 919;