我要动态生成控件数组,希望能实现VB里的UNLOAD 控件效果.............,哪位高手请指教?

解决方案 »

  1.   

    动态生成控件数组没问题,和生成一个控件的思路是一样的
    unload控件效果,什么效果啊,是不是一次释放掉所有控件啊
    这样的话只要释放掉控件的Owner,就会自动释放掉所有控件的
      

  2.   

    不是,是控件数组啊!如果定义B:ARRAY OF IMAGE那这种方式的动态数组释放就比较麻烦,
    我是希望有个动态数组控制,可以释放任一控件,而不要多加算法,像TSTRINGLIST类一样,
    哪果定义B:TSTRINGLIST,B[0].DELETE之后我们就不用多加代码,就可以控制整个变体,同
    样,控件数组也希望这样.....因为我有好多组控件,.......
      

  3.   

    明白For I := .. do
    begin
      L[I] := TLabel.Create(Self);
      with TLablel(L[I]) do
      begin
        Parent := Self;
        Left := ..;
        Top := ..;
        Width := ..;
        Height := ..;
        Caption := ..;
        Name := 'Label' + IntToStr(I);
      end;
    end;
    不用时,就free
      

  4.   

    支持“过客”的说法,但我笨了点,用了个循环把控件给free掉的
      

  5.   

    如果你释放掉了期中任一一个,可是整个控件数组循环后就会出错,这个控件数组的上限不变,
    还要你通过其它途径去解决这个问题,,我希望得到的是一种简单方法,释放掉一个控件,其它
    控件能自动更新,数组的上限也变,就像,A:TSTRINGLIST的A属性一样我释放掉一个,它的COUNT值就减少,循环不会出错..............