我在一个窗体里设置了12个图片控件,然后动态的改变一个NUM值,通过这个值,来改变窗体里显示的图片控件数,而每改变一次,都要重新安排每个控件的位置,这样,要为没一个NUM(1---12)设置它们的TOP和LEFT,这样是很麻烦的,我要问的是,有没有按照窗体中所显示的控件多少,和窗体的大小,自动安排布局的方法?

解决方案 »

  1.   

    for i:=0 to form1.controlcount-1 do
    begin
       if  (form1.controls[i] is TImage) then
       begin
          form1.controls[i].top:=位置
          form1.controls[i].left:=位置
       end
    end
      

  2.   

    楼上的,这样安排的不是所有的IMAGE控件都在一个位置了么?
    我的目的是要根据所要显示的控件数量,对其安排不同的位置,使每次的布局都是上下,左右居中的平均布局,是否只能用条件判断来设置每个空间的TOP和LEFT了?
      

  3.   

    for i = 0 to 10 do
    begin
      Control1.Top := i * 20 + 8;
      Control1.Left := 12;
    end;