我要做一个界面,可以动态产生按钮,设计按钮。然后保存,下次进入时载入保存时的状态。
我用的是TReader TWrite实现的,但是读界面时不能遍历所有控件,谁有这方面的资料,或谁做过?
或者用其他的方式实现,有现成的控件也行。就像delphi设计状态那样。也可以看看天心ERP的样子。自定义界面功能!!!!!分不够可以在加!!!

解决方案 »

  1.   

    动态生成控件的时候都用self做owner
    应该没问题,理论上..实际没做过.
      

  2.   

    "但是读界面时不能遍历所有控件"是什么意思?
    我做过,不过我用XML保存控件信息,一个节点是一个控件,控件之间的嵌套用节点嵌套描述,读进来后为了便于管理,我用一个TObjcectList持有这些控件的指针。
    仅此而已,没什么难度。
      

  3.   

    你是需要这样做吗?
    procedure TPopedomManage.SetEnabled(b: Boolean);
    var
      I, J: Integer;
    begin
      for I := 0 to TForm(FOwner).ComponentCount - 1 do
        if TForm(FOwner).Components[I] is TWinControl then
          with TWinControl(TForm(FOwner).Components[I]) do
            for J := 0 to ControlCount - 1 do
              if Controls[J] is TWinControl then
                if GetIndex(TWinControl(Controls[J]), 2) = 1 then
                  TWinControl(Controls[J]).Enabled := b;
    end;