Вниз
Скачать: CL | DM;

Изменение св-ва 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.011 c
7-54910
Z_man7777
2003-02-26 12:42
2003.04.17
Как отловить раскладку клавиатуры


14-54862
Василий Тёркин
2003-03-30 15:49
2003.04.17
Злоба дня


8-54770
farhad
2003-01-15 15:46
2003.04.17
Как положить Gif изображение на форму?


14-54798
malkolinge
2003-03-31 11:35
2003.04.17
С Днем Рождения ALICE !


4-54956
kostik78ua
2003-02-19 12:32
2003.04.17
FindWindowEx




   Наверх