若知其Name,如Label2,直接Label2.Color := ...就可以了; 若只知其Name的字符串,用下面方法试试,遍历组件 用下面方法先找到再转化,你可依此找出其它的;如Edit等和其类似: if self.FindComponent('Label2') <> nil then TLabel(self.FindComponent('Label2')).Caption := 'Label2';
每个label生成的时候都定义好tag值,用它的tag映射一个函数来决定位置
procedure TBasicForm.Enable; var I :integer; begin for I := 0 to ComponentCount - 1 do begin if (Components[I] is TLabel) then begin if (Tlable(Components[I]).name ='lable1') then Tlable(Components[I]).color :=10; end; end;
//这个通过。你试试。。procedure TForm1.Button1Click(Sender: TObject);var I :integer; begin for I := 0 to ComponentCount - 1 do begin if (Components[I] is TLabel) then begin if (TLabel(Components[I]).name ='Label1') then TLabel(Components[I]).color :=clskyblue; end; end;
procedure TForm1.Button1Click(Sender: TObject);var I :integer; begin for I := 0 to ComponentCount - 1 do begin if (Components[I] is TLabel) then begin if (TLabel(Components[I]).name ='Label1') then TLabel(Components[I]).color :=clskyblue; end; end; end;
若只知其Name的字符串,用下面方法试试,遍历组件
用下面方法先找到再转化,你可依此找出其它的;如Edit等和其类似:
if self.FindComponent('Label2') <> nil then
TLabel(self.FindComponent('Label2')).Caption := 'Label2';
var
I :integer;
begin
for I := 0 to ComponentCount - 1 do begin
if (Components[I] is TLabel) then
begin
if (Tlable(Components[I]).name ='lable1') then
Tlable(Components[I]).color :=10;
end;
end;
//这个通过。你试试。。procedure TForm1.Button1Click(Sender: TObject);var
I :integer;
begin
for I := 0 to ComponentCount - 1 do begin
if (Components[I] is TLabel) then
begin
if (TLabel(Components[I]).name ='Label1') then
TLabel(Components[I]).color :=clskyblue;
end;
end;
I :integer;
begin
for I := 0 to ComponentCount - 1 do
begin
if (Components[I] is TLabel) then
begin
if (TLabel(Components[I]).name ='Label1') then
TLabel(Components[I]).color :=clskyblue;
end;
end;
end;