![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Узнать название родителя у родителя виз. комп.
Layner © (2005-11-10 23:01:00)Возможно ли, есть грид, он лежит на TGroupBox, TGroupBox лежит на TPanel, TPanel лежит на TFrame. TFrame в свою очередь лежит на TForm. ну и вот :) хочу узнать из Грида, на каком же фрейме он лежит.. А именно название фрейма.
Поясню, для чего мне это надо. Если я делаю фрейм, кидаю на него компанент (грид, панель..), этот компанент одинакого будет именоваться во всех фреймах. Бог бы с ним, так вот сохранение (в ini или реестр не важно) параметров (ширина колонок, сортировка..) грида у меня завязанно на его названии. В итоге получается, что в ini или реестр сохраняется как бы один грид, хотя на самом деле, они просто все сохр. друг на друга... Вот хотелось бы узнать "дедушку" компанента :/ Заранее благодарю за люой совет.
Layner (2005-11-11 11:01:00) [1]Digitman © (11.11.05 08:55)
Спасибо большое! точно, до меня не дошло. :)
Digitman (2005-11-11 08:55:00) [2]
> хочу узнать из Грида, на каком же фрейме он лежит.. А именно название фрейма
> ..
> хотелось бы узнать "дедушку" компанента
Это уже не "дедушка" будет, а "прадедушка" ..
Имя_фрейма := Grid.Parent.Parent.Parent.Name
здесь :
1-й Parent вернет ссылку на GroupBox, это - "отец"
2-й Parent вернет ссылку на Panel, это "отец" для GroupBox и "дед" для Grid
3-й Parent вернет ссылку на Frame, это "отец" для Panel, "дед" для GroupBox и "прадед" для Grid
Silver... (2005-11-10 23:58:00) [3]рекурсивно ессно
Layner (2005-11-10 23:12:00) [4]Т.е. "папа" такой:
=grid.Parent.Name
Родительская форма такая:
GetParentForm(self).Name
А как вот распутать на одно колено вниз чем grid.Parent.Name, вопрос...