下载了别人一个程序,程序内容是form2继承form1,form1上有几个控件。让我不能理解的是,现在我在他的form2上双击进入到窗口创建时,代码自动加了一个inherited;为什么我自己建个工程,同样form2继承form1,然后双击form2进入创建事件,就没有自动加个inherited?
    还有更邪乎的,在程序设计时,他的form2显示着form1中的所有控件,绝对不是重新加上去的,因为代码里没有这些控件,也不能在form2上删除这些控件,就好像form2是透明的,form1在form2后面,这是怎么实现的,有属性设置吗?
    求解答

解决方案 »

  1.   

    New->other->inheritable items->Form1
    就达到你要求了。
      

  2.   

    type
      TForm3 = class(TForm2)//请看这里,你的Form2到底是不是继承自Form1啊?
        Button2: TButton;
        procedure Button2Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form3: TForm3;implementation{$R *.dfm}procedure TForm3.Button2Click(Sender: TObject);
    begin
      inherited;end;
      

  3.   

    如果是手工继承的窗口在窗口设计视图中,按Alt+F12切换到dfm源代码
    把第一行的 object ...
    改为 inherited ...
    再按Alt+F12回来,就行了