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

Вниз

Помогите с разработкой компонента!   Найти похожие ветки 

 
_ZeKa   (2005-06-22 20:13) [0]

Компонент представляет из себя следующее творение: существует класс TParentControl, он имеет коллекцию Sections. Элементы этой коллекции - SectionItem в конструкторе создают объект TChildControl, родителем для которого является TParentControl. В ChildControl я устанавливаю ControlStyle = ControlStyle +[csAcceptsControls], для того чтобы он мог принимать компоненты в design-time (как TPanel).
Конфуз в том, что когда в design-time я кидаю на ChildControl`ы компоненты все работает, но в run-time их нет, они просто не сохраняются в файле формы. Отсюда вопрос: Как сделать так чтобы они там сохранялись? По принципу действия компонент похож на TPageControl с вкладками. Это меня навело на мысль(может и ошибочную), что ChildControl`ы должны быть редактируемыми в design-time, но я не заню как это сделать.
P.s. Забыл сказать, что все классы порождены от TCustomControl и никаких наваротов не имеют.
Благодарен за любые предложения.


 
Юрий Зотов ©   (2005-06-22 20:35) [1]

> родителем для которого является TParentControl

А кто для него является владельцем? Должна быть форма. Иначе ChildControl и все, что на нем лежит, попасть в DFM не сможет.

Это первое. Второе - очень похоже, что в Ваших классах потребуется поиграться с замещением методов GetParentComponent, GetChildren, SetChildOrder и им подобных. Посмотрите для примера, как это сделано в PageControl и TabSheet (чтобы сразу понять, о чем идет речь, положите на форму PageControl, создайте на нем TabSheet, положите на него что-нибудь и затем просмотрите форму в виде текста - увидите, как хитро сохранился TabSheet и все, что на нем. Вам нужно получить то же самое).



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

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

Наверх




Память: 0.47 MB
Время: 0.053 c
4-1115702915
Nad89
2005-05-10 09:28
2005.07.11
UnRegisterClass в DLL


8-1111215430
vaa20003
2005-03-19 09:57
2005.07.11
OLE


14-1118385912
syte_ser78
2005-06-10 10:45
2005.07.11
Задачка придуманая мной.


3-1117514779
Тучудище
2005-05-31 08:46
2005.07.11
Хранение отчетов вне EXE файла


11-1102443019
lse
2004-12-07 21:10
2005.07.11
шифрование