Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.10.20;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.006 c
3-65385
Виктор
2003-09-27 21:30
2003.10.20
Проверка типов полей


1-65471
Graff
2003-10-09 00:07
2003.10.20
Получить информацию из *.pwl файла


1-65443
MakNik
2003-10-07 15:06
2003.10.20
MDIChildren


4-65675
Andriy
2003-08-13 10:27
2003.10.20
Сообщение WM_...


1-65538
TUser
2003-10-08 09:36
2003.10.20
header





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский