雪
雪狐狸
Unregistered / Unconfirmed
GUEST, unregistred user!
动态生成1000个Panel,但速度太慢。有没有什么方法使它创建得快些?
能否用多线程来实现它?
我的代码如下(不要见笑):
procedure Tmainform.Button1Click(Sender: TObject);
var
i,x,y:integer;
pan:array [0..1000] of TPanel;
begin
x:=1;
y:=100;
for i:=0 to 999 do
begin
pan:=TPanel.Create(Self);
pan.Parent:=Self;
pan.OnClick:=panClick; //“panClick”是一个自定义的事件
pan.Height:=20;
pan.Width:=30;
pan.Top:=y;
pan.Left:=(x)*30+1;
x:=x+1;
if x>30 then
begin
x:=1;
y:=y+20;
end;
pan.Caption:=inttostr(i);
pan.Update; //这行我记得还有别的语句可以代替
end;
end;
能否用多线程来实现它?
我的代码如下(不要见笑):
procedure Tmainform.Button1Click(Sender: TObject);
var
i,x,y:integer;
pan:array [0..1000] of TPanel;
begin
x:=1;
y:=100;
for i:=0 to 999 do
begin
pan:=TPanel.Create(Self);
pan.Parent:=Self;
pan.OnClick:=panClick; //“panClick”是一个自定义的事件
pan.Height:=20;
pan.Width:=30;
pan.Top:=y;
pan.Left:=(x)*30+1;
x:=x+1;
if x>30 then
begin
x:=1;
y:=y+20;
end;
pan.Caption:=inttostr(i);
pan.Update; //这行我记得还有别的语句可以代替
end;
end;