Componentes.Terceros.DevExp.../official/x.30/ExpressSpreadSheet/Demos/Delphi/FeaturesDemo/FeatureChild.pas
2007-12-16 17:06:54 +00:00

89 lines
2.3 KiB
ObjectPascal

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.