请大师们看一下这个delphi代码中的问题

来源:百度知道 编辑:UC知道 时间:2024/07/02 14:25:58
全局变量为c:integer;
procedure TForm1.Label2Click(Sender: TObject);
var
Newlabel:Tlabel;
begin
if OpenDialog1.Execute then
if (OpenDialog1.FileName<>'') and (FileExists(OpenDialog1.FileName)) then
begin
Newlabel:=TLabel.Create(self);
Newlabel.Caption:=OpenDialog1.FileName;
Newlabel.AutoSize:=True;

//注意:关键是下边这一句:
// Newlabel.Parent:=Self;//原句
Newlabel.Parent:=Self.ScrollBox1 ;//现句

Newlabel.Left :=1;
Newlabel.Top:=2+(20*c);
Newlabel.Width:=Newlabel.Width +30;
Newlabel.tag:=c+1;
Inc(c);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
sl,onlyfname:string;
begin
for i:=0 to ControlCount-1 do
begin
if (Controls[i] is TLabel) and ((Controls[i] as TLabel).Tag <>0) then
sl:= (Controls[i] as TLabel).Caption;
onlyfname:=extractfile

你既然把Parent换成Self.ScrollBox1
那么下面的所操作的对象也相应要改
...
with ScrollBox1 do //加这句,不然操作的是Form上的Label
for i:=0 to ControlCount-1 do
...