一个窗体上有一个Panel和两个Button, 要求按下第一个Button后在panel里显示第一个frame,而按下第二个Button后在Panel中显示第二个Frame,要如何做啊?

解决方案 »

  1.   

    利用standard面板2个frames组件实现。unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls,unit2,unit3, ExtCtrls;type
      TForm1 = class(TForm)
        Button1: TButton;
        Panel1: TPanel;
        Button2: TButton;
        Frame21: TFrame2;
        Frame31: TFrame3;
        procedure Button1Click(Sender: TObject);
        procedure Button2Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    begin
      frame21.BringToFront;
    end;procedure TForm1.Button2Click(Sender: TObject);
    begin
      frame31.BringToFront;
    end;end.
      

  2.   

    新建两个FRAME
    然后动态调用就行拉
    代码如下
    var
       tmpFrame:TFrame;
    begin
       释放旧的Frame.
       tmpFrame:=新Frame类.Create(所有者);
       …… 
    end;
      

  3.   

    当然,在这里   所有者  就是panel啦