⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 upagesview.pas

📁 Software Requirements1. Delphi 6 SP22. Oracle 8i R33. Raize 3.0.94. ExpressQuantumGrid 4.505. Expres
💻 PAS
字号:
unit UPagesView;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, UControllerView, RzCommon, jpeg, RzBckgnd, ExtCtrls, RzPanel,
  UView, RzTabs, RzButton,
  MyFactory, RzStatus;

type
  TPagesView = class(TControllerView)
    Pages: TRzPageControl;
    BtnCloseView: TRzBitBtn;
    procedure BtnCloseViewClick(Sender: TObject);
  public
    function GetActiveView: TView; override;
    procedure DeleteAllView; override;
    function NewPage: TRzTabSheet;
    procedure BandView(Page: TRzTabSheet; View: TView);
  end;

implementation

{$R *.dfm}

{ TPagesView }

procedure TPagesView.DeleteAllView;
begin
  inherited;
  while Pages.PageCount > 0 do
    Pages.Pages[0].Free;
end;

function TPagesView.GetActiveView: TView;
var
  I: Integer;
begin
  Result := nil;
  if Pages.PageCount < 1 then Exit;
  for I := 0 to Pages.ActivePage.ComponentCount - 1 do
    if Pages.ActivePage.Components[I] is TView then
      Result := Pages.ActivePage.Components[I] as TView;
end;

procedure TPagesView.BtnCloseViewClick(Sender: TObject);
var
  I: Integer;
begin
  inherited;
  if Pages.PageCount < 1 then Exit;
  I := Pages.ActivePageIndex;
  Pages.ActivePage.Free;
  if Pages.PageCount = 1 then 
  begin
    Pages.ActivePageIndex := 0;
    Pages.Pages[0].TabVisible := False;
  end;
  if Pages.PageCount > 1 then
  begin
    if I = 0 then Pages.ActivePageIndex := 0
    else Pages.ActivePageIndex := I - 1;
  end;
end;

function TPagesView.NewPage: TRzTabSheet;
begin
  Result := TRzTabSheet.Create(Self);
end;

procedure TPagesView.BandView(Page: TRzTabSheet; View: TView);
begin
  Page.PageControl := Pages;
  Page.Caption := View.GetCaption;
  View.Parent := Page;
  InitView(View);
  if Pages.PageCount > 0 then
    Pages.ActivePageIndex := Pages.PageCount - 1;
  if Pages.PageCount = 1 then
    Page.TabVisible := False
  else if Pages.PageCount = 2 then
    Pages.Pages[0].TabVisible := True;
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -