Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как отловить назначение Parent для своего Owner? [D7]


Ega23 ©   (2007-10-08 14:17:00) 

Ситуация: есть TFrame, на нём много всякого, в том числе один из самописных компонентов.
В ран-тайм этот фрейм создаётся, инициализируется как надо, после чего ему назначается Parent.
Вопрос: как на уровне моего компонента отследить данное событие?


evvcom   (2007-10-08 18:00:00) [1]

CreateWnd/DestroyWnd здесь похоже подойдет. Надо пробовать.
Сначала у меня другая идея возникла. Но она, видимо, хуже.
А в целом не нравится мне эта затея. На кой твоему компоненту момент изменения парента фрейма? Что-то не туда ты пытаешься сделать, имхо. Ведь родитель имеет полное право свое дитя отлучить от себя или вообще прибить. И что тогда? Попробуй осмыслить свою задачу и поискать другие пути решения.


Ega23   (2007-10-08 14:45:00) [2]

Перекрытие CreateWnd/DestroyWnd тут не подойдёт?


Ega23   (2007-10-08 14:32:00) [3]


> Уже начиная с TControl имеется procedure SetParent(AParent:
>  TWinControl); virtual.


Фрейм набивается в Design-Time, там и парент назначается.
Ну , в смысле, парент у моего контрола появляется автоматом после создания самого фрейма.
А вот когда я этому фрейму паретн назначу - это уже моё дело. Вот и хочу поймать на уровне контрола, лежащего на панели, лежащей на фрейме отловить факт назначения фрейму парента.


Ega23   (2007-10-08 14:30:00) [4]

SetParent у фрейма - не хочется.
SetParent у моего контрола - не отрабатывает в нужное мне время, т.к. для него парентом является сам фрейм и он (парент) не меняется.


Джо   (2007-10-08 14:28:00) [5]

> [0] Ega23 ©   (08.10.07 14:17)
> Ситуация: есть TFrame, на нём много всякого, в том числе
> один из самописных компонентов.
> В ран-тайм этот фрейм создаётся, инициализируется как надо,
> после чего ему назначается Parent.
> Вопрос: как на уровне моего компонента отследить данное
> событие?

Уже начиная с TControl имеется procedure SetParent(AParent: TWinControl); virtual.


MBo   (2007-10-08 14:27:00) [6]

SetParent перекрыть?


Наверх

Титульная страница Поиск, карта сайта Написать письмо