UniGui中使用uniPageControl组件实现多标签UniFrame

1、放置三个unipanel组件。位置分别是上、左、剩余。

2、在左侧panel上放置一个unibutton、在当中的unipanel中放置一个unipagectrol组件,并新建一个unitabsheet。

3、新建一个uniframe窗体。保存为uUsers.pas,frame的name设置成Users。

4、在Main.pas中编写代码。

procedure TMainForm.NovaAba(nomeFormFrame: TFrame; descFormFrame: string; Fechar: Boolean);
var TabSheet      :TUniTabSheet;
    FCurrentFrame :TUniFrame;
    I             :Integer;
begin

      pagePrincipal.Visible := True;

   
      for I := 0 to pagePrincipal.PageCount - 1 do
        with pagePrincipal do
          if Pages[I].Caption = descFormFrame  then
            begin
              pagePrincipal.ActivePageIndex := I;
              Exit;
            end;

      TabSheet              := TUniTabSheet.Create(Self);
      TabSheet.PageControl  := pagePrincipal;
      TabSheet.Caption      := descFormFrame;
      TabSheet.Closable     := Fechar;

      FCurrentFrame:= TUniFrameClass(nomeFormFrame).Create(Self);

      with FCurrentFrame do
        begin
          Align               := alClient;
          Parent              := TabSheet;
        end;

      Refresh;

      pagePrincipal.ActivePage := TabSheet;
end;

uses中加入uniGUIFrame单元。 

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics,
  Controls, Forms, uniGUITypes, uniGUIAbstractClasses,
  uniGUIClasses, uniGUIRegClasses, uniGUIForm, uniButton, uniEdit,
  uniGUIBaseClasses, uniLabel, uniPageControl, uniPanel,uniGUIFrame;

在吗Implementation 下的uses中加入uusers单元。

implementation

{$R *.dfm}

uses
  uniGUIVars, MainModule, uniGUIApplication, uusers;

双击unibutton1产生 click事件,代码如下/。

procedure TMainForm.UniButton1Click(Sender: TObject);
begin
    NovaAba(TFrame(Tusers),'users',True);
end;

结果。

发布了255 篇原创文章 · 获赞 54 · 访问量 16万+

猜你喜欢

转载自blog.csdn.net/winniezhang/article/details/103740793