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

Вниз

Теоретический вопрос... Ну не хватает мне теоретических знаний :)   Найти похожие ветки 

 
Begin ©   (2002-09-02 03:41) [0]

Если следующая ситуация имеет право быть

var
P : TPanel;
...
P:=TPanel.Create(Form1);
P.Parent:=Form1;

то возникает вопрос - если владельцем (Owner ведь по аглицки "владелец") новосозданной панельки объявлена Form1, то зачем тогда лишний раз указывать, что она же и ее родитель ? Я знаю, что без этого она будет создана, но не появится, вопрос не про это. Получается, что родитель и владелец компонента вещи разные ? И компонент, созданный на форме, можно показать где угодно ?


 
Aleks1   (2002-09-02 05:06) [1]

Естественно! Владелец - это тот, кто обладает правами на ...
Родитель - тот кто дает жизнь.

А суть здесь в том, что компоненты могут быть и невизуальными.


 
Billy ©   (2002-09-02 05:40) [2]

Owner - это объект, при уничтожении котрого будет уничтожена твоя панель и все остальные объекты, для которых он является владельцем. А Parent - это объект, на котором будет отображаться. Так что создана панель будет, даже если указать

P:=TPanel.Create(nil);
P.Parent:=nil;

только из-за отсутствия родителя ее негде будет отобразить и ее уничтожением ты будешь вынужден заниматься сам.


 
McSimm ©   (2002-09-02 11:07) [3]

Маленькое дополнение.
Уничтожением занимаются и родители, не только владельцы.
Т.е. при

P := TPanel.Create(nil);
P.Parent := Self

Панель будет уничтожена в деструкторе формы. (Метод DestroyComponents)



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

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

Наверх




Память: 0.47 MB
Время: 0.016 c
14-35905
AL2002
2002-08-19 18:52
2002.09.12
Есть у кого-то прога...


3-35561
Fizik
2002-08-21 17:21
2002.09.12
Пропуск в имени поля


14-35855
Igit
2002-08-15 13:37
2002.09.12
Такая глюка


4-35941
Ich Hasse
2002-07-20 22:18
2002.09.12
Как выставить в чужом окне AlphaBlendValue???


14-35893
Kaban
2002-08-19 11:43
2002.09.12
И я попробую задачку задать