| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > Копировать контрол в рантайме |
| Автор: XperT 6.10.2010, 21:23 |
| Программа должна в рантайме создавать вкладки на которых находятся гриды класса TcxGrid. Трудность состоит в том, что я не знаю как создавать грид на основании уже существующего. Можно было бы конечно копировать все свойства грида по одному, но это очень муторный и долгий процесс. Есть ли способ скопировать контрол целиком назначив ему лишь другого родителя? |
| Автор: Akella 6.10.2010, 22:06 |
| Посмотри здесь, оно, нет? http://www.devexpress.com/Support/Center/p/CQ62901.aspx И ещё в справке ms-help://borland.bds5/ExpressQuantumGrid6.BDS5/ExpressQuantumGrid6/IDH_Fundamentals_PatternCloneViews.htm http://www.google.com.ua/#hl=ru&expIds=17259,26885,27016&xhr=t&q=delphi+clone+component&cp=22&pf=p&sclient=psy&site=&source=hp&aq=f&aqi=&aql=&oq=delphi+clone+component&gs_rfai=&pbx=1&fp=6d4302199366d1a5 http://coding.derkeiler.com/Archive/Delphi/borland.public.delphi.language.objectpascal/2004-01/0032.html https://forums.codegear.com/thread.jspa?messageID=247631 Добавлено через 8 минут и 5 секунд http://www.rsdn.ru/article/delphi/serialization.xml |
| Автор: okkonst 6.10.2010, 22:34 | ||
| модуль typinfo. Там дофига интересных процедур. В частности, можно получить список имен всех published свойств (GetPropList) и в цикле скопировать их значения (по имени (текстовому) свойства) - GetPropValue - SetPropValue. Это называется "работа через RTTI" - Runtime Type Info Добавлено через 4 минуты и 38 секунд Кроме того, можно легко копировать компоненты заранее неизвестного класса. Для этого можно использовать замечательное свойство (или функцию - не смотрел) ClassType. Примерно так:
|
| Автор: XperT 6.10.2010, 23:55 |
| Всем спасибо, разобрался. |
| Автор: Xenag 7.10.2010, 02:55 |
| Может я чего-то не понял, но для копирования свойств, существует метод Assign. |
| Автор: Akella 7.10.2010, 11:30 | ||
Ну да
Просто "настоящие герои всегда идут в обход" (с) Бармалей |
| Автор: XperT 7.10.2010, 11:42 |
| Но но но, не нужно из меня дурачка делать. Если бы всё можно было решить обычным Assign - то я бы не стал заморачиваться, только у TcxGrid она не определена. И как оказалось в результате - клонирование как раз было менее затратным решением проблемы. |