我不想再动态遍历?
如题?????

解决方案 »

  1.   

    不遍历也可以.
     可以通过MainMenu1  ,创建MainMenu2 
     也就是引用MainMenu1.
     MainMenu2:=Main1.create (代码不能运行,只是思路)剩下的方法只能遍历了
      

  2.   

    我觉得不可以。Delphi没有C++语言那样的拷贝构造函数。
    TPersistent类有一个Assign虚方法,TBitmap、TStringList等类型重写了这个方法,也是在方法内部把关键属性逐一赋值
      

  3.   

    续上:TMenuItem类没有重写Assign方法,因此不能用。把2楼的意思重复表达一下:即使TBitmap、TStringList等类型,可以BMP1.Assign(BMP2)这样使用,其实其内部实现原理也是你说的遍历
      

  4.   

    遍历在所难免,但是TMenuItem.Add方法也是可以接受MenuItem数组的,可以在动态生成MenuItem的同时,存一份在数组中,这样就可以一次性Add了
     
    procedure Add(Item: TMenuItem); overload;
    procedure Add(const AItems: array of TMenuItem); overload;
      

  5.   

    procedure Add(Item: TMenuItem); overload; 
    procedure Add(const AItems: array of TMenuItem); overload;