📄 upagesview.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 + -