Форум: "Основная";
Текущий архив: 2003.04.17;
Скачать: [xml.tar.bz2];
ВнизИзменение св-ва Parent Найти похожие ветки
← →
anbezr (2003-04-04 10:35) [0]Привет!
мой компонент может быть дочерним только к компоненту определенного типа. Например, сомпонент TMyClass может иметь родителем исключительно TCustomForm. В рантайме мне ничего не стоит всем объектам TMyClass присвоить родителем объект TCustomForm. А как это сделать в DesignTime, ведь свойство Parent компонента еще не определено.
← →
Skier (2003-04-04 10:37) [1]TControl.SetParent(...) ?
← →
anbezr (2003-04-04 10:45) [2]эти строки эквивалентны:
SetParent(Form1);
Parent := Form1;
пробелема не в этом. проблема в том, как заставить дельфю поместить вновь создаваемый экземпляр моего объекта прописать в дочерние именно формы.
← →
Skier (2003-04-04 10:47) [3]>anbezr
бррррр...
Какие дочерние именно формы ???
Скажи по-русски что нужно.
← →
anbezr (2003-04-04 11:07) [4]:} сейчас попытаюсь.
я написал компонент, который требует выполнения двух условий:
1) компонент не может иметь дочерних компонентов того же типа.
2) компонент, в свойстве Parent, должен иметь только MainForm.
в рантайме у меня не возникает проблем с тем, чтобы обеспечить выполниния обоих условий.
но в дезайнтайме, когда пользователь может мышкой поместить один мой компонент на другой, возникают проблемы - целая уйма.
Так вот, могу ли я заставить дельфю помещать этот мой компонент всегда на форму, а ни на какой другой объект.
← →
Skier (2003-04-04 11:16) [5]>anbezr
Ну дык...перекрой ( override :) ) метод SetParent у своего копонента. Что-то типа этого :
TYourComponent.SetParent(AParent: TWinControl);
begin
if csDesigning in ComponentState then begin
if not (AParent is TMainForm) then begin
//генери exception...;
end; //if
end; //if
inherited SetParent(AParent);
end;
← →
anbezr (2003-04-04 11:25) [6]Skier, Спасибо!
if AParent is TMyComponent then AParent := AParent.Parent;
inherited SetParent(AParent);
работает прекрасно!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.04.17;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.008 c