umainform.pas

来自「观察者模式delphi实例实现,同时注意软件的设计」· PAS 代码 · 共 72 行

PAS
72
字号
unit uMainForm;

interface

uses
    Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
    Dialogs, ToolWin, ComCtrls, ExtCtrls, uPhotoMgr, uInterface;

type
    TMainForm = class(TForm)
        ToolBar1: TToolBar;
        PnlLeft: TPanel;
        Splitter: TSplitter;
        PnlRight: TPanel;
        PnlTop: TPanel;
        Splitter1: TSplitter;
        PnlBot: TPanel;
        ToolButton1: TToolButton;
        procedure FormCreate(Sender: TObject);
        procedure FormDestroy(Sender: TObject);
        procedure ToolButton1Click(Sender: TObject);
    private
    { Private declarations }
    public
    { Public declarations }
    end;

var
    MainForm: TMainForm;
    PhotoMgr: TPhotoMgr;
implementation
uses
    uTreeListForm, uTubForm, uPanelForm, utils;
{$R *.dfm}

procedure TMainForm.FormCreate(Sender: TObject);
begin
    TreeListForm := TTreeListForm.Create(nil);
    TubForm := TTubForm.Create(nil);
    PanelForm := TPanelForm.Create(nil);
    ShowFormAsChild(TForm(TreeListForm), TTreeListForm, PnlTop);
    ShowFormAsChild(TForm(TubForm), TTubForm, PnlBot);
    ShowFormAsChild(TForm(PanelForm), TPanelForm, PnlRight);

    PhotoMgr := TPhotoMgr.Create;
    PhotoMgr.AddNotify(PanelForm);
    PhotoMgr.AddNotify(TubForm);
    PhotoMgr.AddNotify(TreeListForm);
    PanelForm.SetPhotoMgr(PhotoMgr);
    TreeListForm.SetPhotoMgr(PhotoMgr);
    TubForm.SetPhotoMgr(PhotoMgr);

end;

{------------------------------------------------------------------------------}
procedure TMainForm.FormDestroy(Sender: TObject);
begin
    TreeListForm.Free;
    TubForm.Free;
    PanelForm.Free;
    PhotoMgr.Free;
end;

{//////////////////////////////////////////////////////////////////////////////}
procedure TMainForm.ToolButton1Click(Sender: TObject);
begin
    PhotoMgr.Newp;
end;

end.

⌨️ 快捷键说明

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