![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Надо сменить владельца компонента
Arnold © (2004-09-23 10:09:00)Вобщем ситуация следующая необходимо сменить владельца компонента например с формы на панель. Пишу следующий код:
procedure ChangeOwner(Component,NewOwner:TComponent);
begin
Component.Owner.RemoveComponent(Component);
NewOwner.InsertComponent(Component);
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
if Assigned(Button1) then
begin
Button1.Parent:=Panel1;
ChangeOwner(Button1,Panel1);
end;
end;
с формы на другую форму этот код работает а если с формы на панель то нет. Помогите разобраться в чем тут подвох
Спасиба
basken (2004-09-23 11:37:00) [1]
> KSergey © (23.09.04 11:32) [9]
Да, наверно сказывается конец рабочей недели...
KSergey (2004-09-23 11:32:00) [2]2 [8] basken (23.09.04 11:28)
> Arnold © (23.09.04 10:09)
> необходимо сменить владельцакомпонента
Кто-то из нас неправильно читает??
basken (2004-09-23 11:28:00) [3]
> KSergey © (23.09.04 11:17) [6]
Ответил на вопрос Arnold ©
Anatoly Podgoretsky (2004-09-23 11:19:00) [4]ChangeOwner(Button1,Panel1);
Button1.Parent:=Panel1;
KSergey (2004-09-23 11:17:00) [5]> [5] basken (23.09.04 10:57)
Это вы к чему???
basken (2004-09-23 10:57:00) [6]
procedure ChangeOwner(AComponent, AOwner: TWinControl);
begin
AComponent.Parent := AOwner;
Petr V. Abramov (2004-09-23 10:26:00) [7]Панель - parent а не owner
KSergey (2004-09-23 10:24:00) [8]> [2] antonn © (23.09.04 10:21)
> Наверно нужно таскать их в реале...
Таскать - это как? Визуально? Тогда парента вообще-то меняют...
А не получается - в каком смысле? Ошибка? Какая?
antonn (2004-09-23 10:21:00) [9]Наверно нужно таскать их в реале...
Sandman25 (2004-09-23 10:16:00) [10]А зачем менять владельца?