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

📄 ebarmdidemochild.pas

📁 胜天进销存源码,国产优秀的进销存
💻 PAS
字号:
unit EBarMDIDemoChild;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ComCtrls;

type
  TEBarMDIDemoChildForm = class(TForm)
    Editor: TRichEdit;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure FormActivate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure EditorMouseDown(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
  private
    FFileName: string;
    procedure SetFileName(Value: string);
  public
    property FileName: string read FFileName write SetFileName;
  end;

implementation

uses EBarMDIDemoMain;

{$R *.DFM}

procedure TEBarMDIDemoChildForm.SetFileName(Value: string);
var
  I: Integer;
begin
  FFileName := Value;
  Caption := FFileName;
  with EBarMDIDemoMainForm.dxBarListWindows do
  begin
    I := Items.IndexOfObject(Self);
    if (0 <= I) and (I < Items.Count) then Items[I] := FFileName;
  end;
end;

procedure TEBarMDIDemoChildForm.FormCreate(Sender: TObject);
begin
  Inc(EBarMDIDemoMainForm.CreatedMDICount);
  Caption := 'Document' + IntToStr(EBarMDIDemoMainForm.CreatedMDICount);
  Editor.OnChange := EBarMDIDemoMainForm.EditorChange;
  Editor.OnSelectionChange := EBarMDIDemoMainForm.EditorSelectionChange;
  EBarMDIDemoMainForm.dxBarListWindows.Items.AddObject(Caption, Self);
  Editor.Modified;

  if EBarMDIDemoMainForm.MDIChildCount = 1 then EBarMDIDemoMainForm.ShowItems(True);
end;

procedure TEBarMDIDemoChildForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  if EBarMDIDemoMainForm.FileName <> '' then
    EBarMDIDemoMainForm.dxBarMRUFiles.AddItem(EBarMDIDemoMainForm.FileName, nil);
  Action := caFree;
end;

procedure TEBarMDIDemoChildForm.FormActivate(Sender: TObject);
begin
  Editor.OnChange(Editor);
end;

procedure TEBarMDIDemoChildForm.FormDestroy(Sender: TObject);
begin
  with EBarMDIDemoMainForm.dxBarListWindows.Items do
    Delete(IndexOfObject(Self));

  if EBarMDIDemoMainForm.MDIChildCount = 1 then EBarMDIDemoMainForm.ShowItems(False);
end;

procedure TEBarMDIDemoChildForm.FormCloseQuery(Sender: TObject;
  var CanClose: Boolean);
var
  Res: Integer;
begin
  if Editor.Modified then
  begin
    Res := Application.MessageBox(
      PChar(Format('Do you want to save the changes you made to "%s"?', [Caption])),
      PChar(Application.Title), MB_ICONQUESTION or MB_YESNOCANCEL);
    case Res of
      ID_YES: CanClose := EBarMDIDemoMainForm.SaveFile(False);
      ID_NO: CanClose := True;
      ID_CANCEL: CanClose := False;
    end;
  end;
end;

procedure TEBarMDIDemoChildForm.EditorMouseDown(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if Button = mbRight then
    EBarMDIDemoMainForm.dxBarPopupMenu.PopupFromCursorPos;
end;

end.

⌨️ 快捷键说明

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