c:\1目录下有若干JPG文件,现在想在SCROLBOX里动态创建PANEL,有多少个JPG文件创建多少个PAENL,当一行排5个排满后,自动换到下一行创建PANEL,PANEL之间保持一定间隔,第二行满5个后到第3行以此类推。
如下面所示:
Panel1 panel2 panel3 panel4 panel5 panel6 panel7 panel8 panel9 panel10......
如下面所示:
Panel1 panel2 panel3 panel4 panel5 panel6 panel7 panel8 panel9 panel10......
x :=0; y := 0;
for i := 1 to panel个数 do
begin
if (i mod 每行个数) = 0 then
begin
y := y + panel.height + 10;
x := 0;
end;
动态创建
panel.left := x;
panel.top := y;
x := x + panel.width
end;
var
Panel:array[1..100] of TPanel;
i:integer;
begin
for i:=1 to 100 do
begin
Panel[i]:=TPanel.Create(self);
Panel[i].Parent:=ScrollBox1;
Panel[i].Height:=50;
Panel[i].width:=50;
Panel[i].Visible:=true;
if i=1 then
begin
Panel[i].top:=20;
Panel[i].left:=20;
end
else
begin
if i mod 5=1 then
begin
Panel[i].left:=Panel[1].left;
Panel[i].top:=Panel[i-1].top+Panel[i-1].height+50;
end
else
begin
Panel[i].left:=Panel[i-1].left+Panel[i-1].width+50;
Panel[i].top:=Panel[i-1].top;
end;
end; end;
end;这段代码生成100个panel组件,每5行一排