obname: TComponentprocedure TForm1.MyPopStu(Sender: TObject);
begin
TStaticText(Obname).Color := clGreen;
TStaticText(Obname).Font.Color := clWhite;
end;procedure TForm1.t1Click(Sender: TObject);
begin
Obname := t1; //---- 这里的 t1 是否可以什么函数得到 如 Self.Component[];
MyPopStu;
end;procedure TForm1.t2Click(Sender: TObject);
begin
Obname := t2;
MyPopStu;
end;
从而使以上两节换成
procedure TForm1.t1Click(Sender: TObject);
begin
Obname := Self.Component[];
MyPopStu;
end;procedure TForm1.t2Click(Sender: TObject);
begin
Obname := Self.Component[];
MyPopStu;
end;
或有其它更简方法,谢谢!
begin
if (Sender is TStaticText) then
begin
(Sender as TStaticText).Color := clGreen;
(Sender as TStaticText).Font.Color := clWhite;
end;
end;procedure TForm1.t1Click(Sender: TObject);
begin
MyPopStu(Sender);
end;
obname: TComponentprocedure TForm1.MyPopStu(Sender: TObject);
begin
TStaticText(Obname).Color := clGreen;
TStaticText(Obname).Font.Color := clWhite;
end;procedure TForm1.t1Click(Sender: TObject);
begin
Obname := Sender as TComponent --- 没学好,用 as
MyPopStu;
end;procedure TForm1.t2Click(Sender: TObject);
begin
Obname := Sender as TComponent
MyPopStu;
end;
谢谢
Sender as TComponent或TComponent(Sender)顶5楼的,那应该是你最满意的结果