featurechild.pas

来自「DevExpress公司出品的Borland Delphi和C++ Builde」· PAS 代码 · 共 89 行

PAS
89
字号
unit FeatureChild;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
  Dialogs, cxSSheet, Grids, StdCtrls, cxControls;

type
  TFeatureChildForm = class(TForm)
    cxSpreadBook: TcxSpreadSheetBook;
    procedure FormActivate(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure cxSpreadBookSheetPopupMenu(Sender: TObject; X, Y: Integer);
    procedure cxSpreadBookEditing(Sender: TcxSSBookSheet; const ACol,
      ARow: Integer; var CanEdit: Boolean);
    procedure cxSpreadBookEndEdit(Sender: TObject);
    procedure cxSpreadBookContextPopup(Sender: TObject; MousePos: TPoint;
      var Handled: Boolean);
  private
    FIsEditorMode: Boolean;
  public
    procedure SetSelection;
    property IsEditorMode: Boolean read FIsEditorMode write FIsEditorMode;
  end;

implementation

{$R *.dfm}

uses
  FeaturesMain;

procedure TFeatureChildForm.SetSelection;
begin
  if Assigned(cxSpreadBook.OnSetSelection) then
    cxSpreadBook.OnSetSelection(cxSpreadBook, cxSpreadBook.ActiveSheet);
end;

procedure TFeatureChildForm.FormActivate(Sender: TObject);
begin
  SetSelection;
end;

procedure TFeatureChildForm.FormCreate(Sender: TObject);
begin
  SetSelection;
end;

procedure TFeatureChildForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  if Application.MainForm.MDIChildCount > 1 then
  begin
    Application.MainForm.Next;
    Action := caFree;
  end;
end;

procedure TFeatureChildForm.cxSpreadBookSheetPopupMenu(Sender: TObject; X,
  Y: Integer);
begin
  FeaturesMainForm.pmSheetPopup.Popup(X, Y);
end;

procedure TFeatureChildForm.cxSpreadBookEditing(Sender: TcxSSBookSheet;
  const ACol, ARow: Integer; var CanEdit: Boolean);
begin
  FIsEditorMode := True;
end;

procedure TFeatureChildForm.cxSpreadBookEndEdit(Sender: TObject);
begin
  FIsEditorMode := False;
end;

procedure TFeatureChildForm.cxSpreadBookContextPopup(Sender: TObject;
  MousePos: TPoint; var Handled: Boolean);
begin
  if (MousePos.X = -1) and (MousePos.Y = -1) then
    MousePos := ClientToScreen(Point(0, 0))
  else
    MousePos := Mouse.CursorPos;
  FeaturesMainForm.pmSheetPopup.Popup(MousePos.X, MousePos.Y);
  Handled := True;
end;

end.

⌨️ 快捷键说明

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