Текущий архив: 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.45 MB
Время: 0.043 c