Регистрация TEnumProprtyEditor для всех перечислений

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Регистрация TEnumProprtyEditor для всех перечислений

Сообщение gluhow » 10.09.2019 10:53:55

Использую TTIPropertyGrid. Понадобилось мне поменять слегка в своём проекте стандартные PropertyEditor-ы на свои. Выглядело это так:
Код: Выделить всё
TMyStringProperty=class(TStringProperty)
end;
...
RegisterPropertyEditor(TypeInfo(String), TPersistent, '', TMyStringProperty);

И так для всех основных типов. Но уперся в TEnumProperty, т.к. не знаю как прописать регистрацию чтобы работало для всех перечислений?
gluhow
новенький
 
Сообщения: 41
Зарегистрирован: 13.08.2015 15:30:20

Re: Регистрация TEnumProprtyEditor для всех перечислений

Сообщение CynicRus » 10.09.2019 17:22:00

Дык посмотри как это делает инспектор объектов самого Лазаря.
CynicRus
постоялец
 
Сообщения: 106
Зарегистрирован: 28.06.2012 14:31:11

Re: Регистрация TEnumProprtyEditor для всех перечислений

Сообщение gluhow » 12.09.2019 09:56:55

Как я понял, инспектор сначала смотрит в список зарегистрированных для этого типа редакторов, если ничего подходящего не находит, то проверяет TypeKind и для tkEnumeration берет реализацию, которая прописана во внутренней константе. Так что общего решения не нашел, сейчас выискиваю все перечисления и для каждого типа-перечисления регистрирую свой редактор
gluhow
новенький
 
Сообщения: 41
Зарегистрирован: 13.08.2015 15:30:20


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: Alex2013, Yandex [Bot] и гости: 31

Рейтинг@Mail.ru