Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.20;
Скачать: CL | DM;

Вниз

Редактор свойств   Найти похожие ветки 

 
oleg_art ©   (2003-10-07 17:53) [0]

Всем привет !
Как зарегистрировать свой редактор свойств для ВСЕХ published свойств типа множество ?


 
Skier ©   (2003-10-07 17:53) [1]

Никак


 
oleg_art ©   (2003-10-07 18:02) [2]

To Skier
Но ведь Borland поставляет же TSetProperty, который зарегистрирован для всех множеств. Вопрос только в том, как они это сделали ?


 
Skier ©   (2003-10-07 18:03) [3]


> Вопрос только в том, как они это сделали ?

Вот и мне интересно...


 
Юрий Зотов ©   (2003-10-07 18:14) [4]

Вообще говоря, множественная регистрация делается так:
RegisterPropertyEditor(???, nil, "", TMySetPropery);

Вот только что ставить первым параметром, я в данном случае сказать затрудняюсь. Если бы речь шла о конкретном типе множества - проблем никаких: TypeInfo(TMySet) и редактор регистрируется для всех свойств типа TMySet, независимо от их имен и от содержащих их классов. А вот как для ВСЕХ множеств разом - не знаю. Поэтому я бы решал задачу другим путем.

Посмотрите RegisterPropertyMapper в DesignIntf (или в DsgnIntf). Проверяем PropInfo и если это множество, то возвращаем класс своего редактора, иначе возвращаем nil (то есть, оставляем прежний класс). Все очень просто.


 
Skier ©   (2003-10-07 18:32) [5]

>Юрий Зотов © (07.10.03 18:14) [4]
А этот вариант подойдёт для всех множеств, т.е. будет работать
и с VCL ?


 
oleg_art ©   (2003-10-07 18:53) [6]

To Юрий Зотов:
Браво !


 
Юрий Зотов ©   (2003-10-07 19:12) [7]

> Skier © (07.10.03 18:32) [5]

Естественно. Этот способ сработает вообще для любых свойств любых типов. Проверяем PropInfo и какой класс редактора для данного объекта и данного свойства вернем - такой и будет работать. Это же просто подмена редактора (но совершенно легальная, предусмотренная разработчиками VCL).

> oleg_art © (07.10.03 18:53) [6]

Спасибо, но "браво", конечно, не мне, а разработчикам VCL, мудро предусмотревшим такой механизм. А также разработчикам Dream Controls, которые когда-то тоже мне его подсказали. :о)



Страницы: 1 вся ветка

Текущий архив: 2003.10.20;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.017 c
1-65477
l2t_guest
2003-10-08 17:21
2003.10.20
Вопрос по variant


1-65521
Tornado
2003-10-08 11:39
2003.10.20
Посоветуйте компонент


1-65469
sapsi
2003-10-09 09:54
2003.10.20
Распечатка на принтере


14-65586
Молодой
2003-10-02 17:08
2003.10.20
Программа генерации голоса


4-65667
NVjed
2003-08-14 12:53
2003.10.20
блокировка системы