我想创建一个过程,它返回分配对象的表单的名称。例如:
我有一个 TPanel,在 TPanel 内有一个 TButton。我将作为参数传递给 TButton 的函数名称,并希望该函数返回我这个按钮在哪里的formuário 名称。
怎么做?
乐:
function TForm1.DoSomething(Obj: TComponent): String;
var AClass : String; I : Integer;
begin
AClass := TComponent(Obj).Owner.ClassName;
if (AClass = 'TForm') then
Result := TComponent(Obj).Name
else
Result := TComponent(Obj).Owner.Name;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
NomeForm := DoSomething(Button3);
ShowMessage(NomeForm);
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
NomeForm := DoSomething(Form1);
ShowMessage(NomeForm);
end;