DELPHI开发选项卡模式的窗体

本文介绍了一个使用Delphi和Raize控件包中的RzPageControl实现窗体选项卡化的步骤。通过创建过程OpenForm,动态创建选项卡并加载窗体,以及关闭选项卡窗体的方法,使得在主界面上可以方便地切换和关闭各个窗体。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于选项卡模式的窗体,先看一个我开发的一个案例图
在这里插入图片描述
在图片中我们可以看到,主界面是固定排版的,所有模块窗体在打开时,都是在主界面的选项卡上增加一个选项,也可以通过关闭选项卡来关闭窗体,那么实现的方式是什么呢?

【第一步】
我们首先创建一个过程

procedure OpenForm(FrmName,FrmCaption:string;MyFormCls:TFormClass);

针对此过程的参数简单的解释一下:
FrmName:窗体的名称
FrmCaption:显示在选项卡上的标签内容
MyFormCls:要打开窗体的类名

【第二步】
我们给过程添加功能代码如下:
注:我这里的选项卡使用的是Raize控件包中的RzPageControl

procedure TFrmMain.OpenForm(FrmName, FrmCaption: string; MyFormCls: TFormClass);
  var
  MyTabSheet:TRzTabSheet;
  MyForm:TForm;
 begin
    MyTabSheet := TRzTabSheet(self.FindComponent(FrmName));
if MyTabSheet = nil then
  begin
    try
       //创建新标签页
      MyTabSheet :=  TRzTabSheet.Create(self);
      MyTabSheet.Name := FrmName;
      MyTabSheet.PageControl := RzPageControl1;
      MyTabSheet.Caption := FrmCaption;
      MyTabSheet.Align := alClient;

     try

        MyForm:=MyFormCls.Create(Self);
        MyForm.Parent:=MyTabSheet;
        MyForm.BorderStyle:=bsNone;
        MyForm.Align:=alClient;
        MyForm.Show;

      except
        FreeAndNil(MyForm);
        Abort;
        end;
       except
         FreeAndNil(MyTabSheet);
         Exit;
       end;


       end;
     RzPageControl1.ActivePage:=MyTabSheet;

end;

【第三步】

以上就是使用选项卡打开窗体的一个过程,如果要调用非常简单,如我需要打开一个窗体名称为:FrmMIOEE的窗体,下面的代码直接调用

procedure TFrmMain.MIOEE1Click(Sender: TObject);
begin
    OpenForm('FrmMIOEE','MI设备OEE',TFrmMIOEE);  //调用选项卡打开窗体的过程
end;

【第四步】
如何关闭选项卡窗体,下面两行代码搞定。

  RzPageControl1.ActivePage.Free;
  RzPageControl1.SelectNextPage(False);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值