我添了几个LABEL比如:Label1、Label2、Label3…………Label9;现在我想把它们FONT的颜色全更改为绿色;我打算用一个循环来做,但着手的时候就发现做不下去了,请各位帮帮忙!我是这样子做的: for i:=1 to 9 do
begin
str:='Label'+inttostr(i);
end; 到这里可以用STR变量保存对象名字符串,但却又不能调用对象的属性拉:
Labeln.font.color:= clGreen; 就是说我总不能用str.font.color:= clGreen;吧,我该怎么做?
begin
str:='Label'+inttostr(i);
end; 到这里可以用STR变量保存对象名字符串,但却又不能调用对象的属性拉:
Labeln.font.color:= clGreen; 就是说我总不能用str.font.color:= clGreen;吧,我该怎么做?
解决方案 »
- TQuery/TADOQuery怎样获取查询到的distinct值
- 一个简单的问题?
- 刚安装好Delphi7,下载了Ehlib3.0但无法安装,在线等待
- 怎么加亮(选中)dbgird控件的任意一行?
- 善于树视图的请教,谢谢
- 运行出错,请指教。
- 进度窗口,老题目新问题
- 这句SQL 怎么写? (SQL SERVER)
- 有谁用过Wise for windows installer professional edition?我想问一下但它生成msi project文件后如何生成exe文件?
- DSPACK控件,实现用摄像头录像后,视频上有摄像的时间(读电脑的日期时间)
- 怎样设置ADOQuery当前记录?
- 最愚笨的问题
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
Tab:array[0..3] of TLabel;
procedure myClick(Sender:TObject);
public
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.DFM}//自定义的Label的OnClick事件处理过程
procedure TForm1.myClick(Sender: TObject);
var
s:String;
begin
if Sender is TLabel then
s:=TLabel(Sender).Caption
else
s:='Hello!';//这改了! ShowMessage(s);
end;procedure TForm1.Button1Click(Sender: TObject);
var
i:Integer;
begin
for i := Low(Tab) to High(Tab) do
begin
Tab[i]:=Tlabel.Create(Self);
tab[i].OnClick:=MyClick;//在这里付值
Tab[i].Parent:=Self;
Tab[i].Top := 20 + i * 50;
Tab[i].Left :=70;
Tab[i].Caption := 'Label' + IntToStr(i);
Tab[i].Font.Color:= clGreen;
Tab[i].Visible :=true;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
Tab[2].OnClick(Sender);//直接调用,传入参数应该与过程申明相同!
end;end.
begin
str:='Label'+inttostr(i);
TLabel(FindComponent(str)).Font.Color := clGreen;
end;