Молодой человек хочет через компьютер найти жену. Он хочет, чтобы она была брюнетка, небольшого роста, скромно одевалась, была общительной и хорошо плавала. компьютер выдал рекомендацию: "Вам подходит самка пингвина."
unit ChOwn1;
interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
ButtonChange: TButton;
ButtonList: TButton;
ListBox1: TListBox;
procedure ButtonChangeClick(Sender: TObject);
procedure ButtonListClick(Sender: TObject);
procedure Button1Click(Sender: TObject);
private{ Private declarations }public{ Public declarations }end;
var
Form1: TForm1;
implementationuses ChOwn2;
{$R *.DFM}procedure TForm1.ButtonChangeClick(Sender: TObject);
var
AComp: TComponent;
beginif Assigned (Button1) thenbegin// change parent
Button1.Parent := Form2;
// change owner
AComp := Button1;
RemoveComponent (AComp);
Form2.InsertComponent (AComp);
end;
end;
procedure TForm1.ButtonListClick(Sender: TObject);
var
I: Integer;
begin
ListBox1.Items.Clear;
for I := 0 to ComponentCount - 1 do
ListBox1.Items.Add (Components[I].Name);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage ('My owner is ' +
((Sender as TButton).Owner as TForm).Caption);
end;
end.
unit ChOwn2;
interfaceuses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;
type
TForm2 = class(TForm)
ButtonList: TButton;
ListBox1: TListBox;
procedure ButtonListClick(Sender: TObject);
private{ Private declarations }public{ Public declarations }end;
var
Form2: TForm2;
implementation{$R *.DFM}procedure TForm2.ButtonListClick(Sender: TObject);
var
I: Integer;
begin
ListBox1.Items.Clear;
for I := 0 to ComponentCount - 1 do
ListBox1.Items.Add (Components[I].Name);
end;
end.
Статья Поменять владельца компонента раздела Компоненты и Классы Компоненты может быть полезна для разработчиков на Delphi и FreePascal.
Комментарии и вопросы
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.