我要实现一个循环对10个image控件进行属性定义,比如:
image1.width:=10;
image2.width:=10;
.....
代码如下:
type ff=record
end;
procedure TForm1.FormCreate(Sender: TObject);
var image:array[1..10] of ff;
js:integer;
begin
for js:=1 to 10 do
begin
Image[js].width :=10;
end;
end;
但是提示无法识别这个width,就是说image的类型不对,请问如何正确写,谢谢!
image1.width:=10;
image2.width:=10;
.....
代码如下:
type ff=record
end;
procedure TForm1.FormCreate(Sender: TObject);
var image:array[1..10] of ff;
js:integer;
begin
for js:=1 to 10 do
begin
Image[js].width :=10;
end;
end;
但是提示无法识别这个width,就是说image的类型不对,请问如何正确写,谢谢!
控件数组的基类要是TImage
var
Image:array[1..10] of TImage;接下来要给他们赋值:
Image[1]:=Image1;
...
Image[10]:=Image10;
别说麻烦,这样一次赋值后再操作就方便了
当然了,也可以用查找元件的方法来做赋值
我有10个image,有5个是在panel1上,有5个在panel上,在循环语句中可以实现panel1上的5个,但是另5个就不行,只好再写5遍,
而且把i:=1 to 10改为5,前5个有2个不行。:(所以只能按下面代码写,虽然可以实现但是程序写的不干净利落。
i:integer;
begin
for i:=1 to 10 do
begin
if components[i] is timage then
begin
(components[i] as timage).OnMouseEnter:=mouseenter;
(components[i] as timage).OnMouseLeave:=mouseleave;
end;
end;
Image6.OnMouseEnter := MouseEnter;
Image6.OnMouseLeave := MouseLeave;
Image7.OnMouseEnter := MouseEnter;
Image7.OnMouseLeave := MouseLeave;
Image8.OnMouseEnter := MouseEnter;
Image8.OnMouseLeave := MouseLeave;
Image9.OnMouseEnter := MouseEnter;
Image9.OnMouseLeave := MouseLeave;
Image10.OnMouseEnter := MouseEnter;
Image10.OnMouseLeave := MouseLeave;
begin
for i:=0 to Componentcount-1 do
begin
if components[i] is timage then
begin
(components[i] as timage).OnMouseEnter:=mouseenter;
(components[i] as timage).OnMouseLeave:=mouseleave;
end;
end;
i:integer;
Image:array[1..10] of TImage;
begin
Image[1]:=Image1;
Image[2]:=Image2;
Image[3]:=Image3;
Image[4]:=Image4;
Image[5]:=Image5;
Image[6]:=Image6;
Image[7]:=Image7;
Image[8]:=Image8;
Image[9]:=Image9;
Image[10]:=Image10;
for i:= 1 to 10 do
begin
image[i].OnMouseEnter:=mouseenter;
image[i].OnMouseLeave:=mouseleave;
end;
end;