我用scrollbox和一个button做了一个显示大量图片的模块.查询运行的步骤是:
先通过点button 查询数据库的记录,然后在scrollbox里自动创建image控件,有多少条记录创建多少个iamge控件.现在需要解决的问题是,如何将scrollbox里的image控件清空.比如,我第一次,查询到8条记录,而第二次查询到6条记录,但是只更新了前面六条,后面两条依然有显示.这个怎么解决.我想在每次查询前先清空scrollbox里的控件,都重新创建.
先通过点button 查询数据库的记录,然后在scrollbox里自动创建image控件,有多少条记录创建多少个iamge控件.现在需要解决的问题是,如何将scrollbox里的image控件清空.比如,我第一次,查询到8条记录,而第二次查询到6条记录,但是只更新了前面六条,后面两条依然有显示.这个怎么解决.我想在每次查询前先清空scrollbox里的控件,都重新创建.
var
i : integer;
begin
for i := 0 to ComponentCount-1 do
begin
if (Components[i] is TImage) then
TImage(Components[i]).Picture := nil;
end;end;
也是一个不错的方法,这样Image控件还在,但是由于没图,还是看不到的,效果一样
var
i : integer;
begin
for i := 0 to ComponentCount-1 do
begin
if (Components[i] is TImage) then
TImage(Components[i]).Picture := nil;
end;
//在这里重新赋值
end;
I: Integer;
begin
with ScrollBox1 do
for I := ControlCount - 1 downto 0 do
if Controls[I] is TImage then
Controls[I].Free;
end;