Главная страница
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.013 c
14-65596
blackweber
2003-10-01 12:24
2003.10.20
win 2000 server registry


3-65397
Silver_
2003-09-26 15:22
2003.10.20
куча вопросов в одну тему


1-65507
DimChan
2003-10-08 10:40
2003.10.20
Сведение чисел после запятой до сотых


3-65344
vovik_tyan
2003-09-29 17:10
2003.10.20
содержимое SQL в DBGrid ?


1-65454
sagchat
2003-10-06 17:41
2003.10.20
Как запретить изменять размер формы?