Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Компоненты и классы
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 11.08.2013, 23:01
ManGo ManGo вне форума
Прохожий
 
Регистрация: 11.08.2013
Сообщения: 2
Версия Delphi: Delphi XE4
Репутация: 10
По умолчанию Компонент с изменяющимся в инспекторе полем-компонентом

В компонентах DevExpressVCL есть замечательная особенность - колонка TcxGridColumn в TcxGridTableView имеет свойство с именем "Properties", которое раскрывается как список возможных TcxCustomEditProperties, напимер, DateEdit, CalcEdit, Label и т.д. При этом в инспекторе подставляется соответвующий наследник от TcxCustomEditProperties со свойствами специфическими для выбранного из выпадающего списка.
Я понимаю, что для реализации такого же в своих компонентах нужно использовать RegisterPropertyEditor, но пока все попытки оказались безуспешными.
Копание в исходниках DevExpressVCL не помогло - выделить оттуда суть не получилось. Документация и поиск - понимания не добавило.

Может быть есть у кого примерчик или ссылка на суть реализации?
Ответить с цитированием
  #2  
Старый 12.08.2013, 01:33
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

А вы не замечали сходного поведения у свойства DataSet в компонете DataSource? Оно тоже может быть и TAdoTable и TAdoQuery и TClientDataset и много чем еще. Ни на какие мысли не наводит?
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #3  
Старый 12.08.2013, 09:34
ManGo ManGo вне форума
Прохожий
 
Регистрация: 11.08.2013
Сообщения: 2
Версия Delphi: Delphi XE4
Репутация: 10
По умолчанию

Да, все правильно. Когда свойству присваивается внешний компонент - проблем нет. Так TAdoTable и TAdoQuery и TClientDataset являются потомками TDataSet и без проблем могут быть присвоены этому свойству.

Речь идет о пересоздании свойства внутри самого компонента. Свойство имеет тип, например, TCustom... Перечень возможных значений этого свойства определяется из выпадающего списка. После выбора создается один из предопределенных потомков от TCustom... и присваивается свойству.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 16:05.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter