• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Delphi中Frame的使用

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

一.主要代码

   a)主窗体

type
  TFrameClass  =  class    of    TFrame;

  TFrmMain = class(TForm)
    Button1: TButton;
    Panel1: TPanel;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
    FCurrentfrmClassName:  string;
    FCurrentfrm:  TFrame;
    procedure    LoadFrameByClassName(theFrameClass:    TFrameClass);
  public
    { Public declarations }
  end;

var
  FrmMain: TFrmMain;

implementation

{$R *.dfm}
procedure TFrmMain.FormCreate(Sender: TObject);
begin
    FCurrentfrmClassName:='';
    FCurrentfrm:=nil;
end;

procedure TFrmMain.LoadFrameByClassName(theFrameClass: TFrameClass);
begin
   if Assigned(FCurrentfrm)and( not SameText(theFrameClass.ClassName,FCurrentfrmClassName)) then
       FreeAndNil(FCurrentfrm);

   FCurrentfrm:=theFrameClass.Create(nil);
   FCurrentfrm.Parent:=Panel1;
   FCurrentfrm.Left:=(Panel1.Width-FCurrentfrm.Width)div 2;
   FCurrentfrm.Top:=(Panel1.Height-FCurrentfrm.Height)div 2;
   
   FCurrentfrmClassName:=theFrameClass.ClassName;
end;

procedure TFrmMain.Button1Click(Sender: TObject);
begin
   Self.LoadFrameByClassName(TFrmFirstFrame);
   ShowMessage('显示第一个Frame!');
end;

procedure TFrmMain.Button2Click(Sender: TObject);
begin
   Self.LoadFrameByClassName(TFrmSecondFrame);
   ShowMessage('显示第二个Frame!');
end;

end.

 

   b)第一个Frame

type
  TFrmFirstFrame = class(TFrame)
  private
    { Private declarations }
  public
    { Public declarations }
  end;

implementation

{$R *.dfm}

end.

   c)第二个Frame

type
  TFrmSecondFrame = class(TFrame)
  private
    { Private declarations }
  public
    { Public declarations }
  end;

implementation

{$R *.dfm}

end.

 

二.测试

   显示第一个Frame

   

   显示第二个Frame

   


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
MATLAB 的数据导入与导出 - CuriousZero发布时间:2022-07-18
下一篇:
matlab文件操作发布时间:2022-07-18
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap