📄 ufldemoedit.pas
字号:
unit UFlDemoEdit;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, UFlDemoData,
Grids, ComCtrls, ToolWin, UWaitCursor, ExtCtrls, ActnList, UFormatDialog, UFlxFormats,
UFlexCelGrid, UFlxMessages, Menus, ZLib;
type
TDemoEdit = class(TForm)
TabControl: TTabControl;
Data: TFlexCelGrid;
Panel1: TPanel;
ActionList1: TActionList;
ActionCopyFormat: TAction;
ActionPasteFormat: TAction;
ActionCellFormat: TAction;
ActionRowFormat: TAction;
ActionColFormat: TAction;
ActionZoom: TAction;
CoolBar1: TCoolBar;
ToolBar: TToolBar;
BtnSave: TToolButton;
BtnClose: TToolButton;
ToolBar1: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
ToolButton4: TToolButton;
ToolButton5: TToolButton;
ToolButton6: TToolButton;
ToolButton8: TToolButton;
TrackBarZoom: TTrackBar;
PanelZoom: TPanel;
ToolButton9: TToolButton;
ActionReadOnly: TAction;
MainMenu1: TMainMenu;
View1: TMenuItem;
Zoom1: TMenuItem;
Format1: TMenuItem;
CopyFormat1: TMenuItem;
PasteFormat1: TMenuItem;
N1: TMenuItem;
CellFormat1: TMenuItem;
ColFormat1: TMenuItem;
ColFormat2: TMenuItem;
ActionSaveAs: TAction;
ActionClose: TAction;
File2: TMenuItem;
ReadOnly1: TMenuItem;
ReadOnly2: TMenuItem;
N2: TMenuItem;
Close1: TMenuItem;
ToolButton7: TToolButton;
MenuZoom: TPopupMenu;
N101: TMenuItem;
N251: TMenuItem;
N1001: TMenuItem;
N2001: TMenuItem;
N4001: TMenuItem;
Action10: TAction;
Action25: TAction;
Action100: TAction;
Action200: TAction;
Action400: TAction;
Action50: TAction;
N501: TMenuItem;
N102: TMenuItem;
N252: TMenuItem;
N502: TMenuItem;
N1002: TMenuItem;
N2002: TMenuItem;
N4002: TMenuItem;
ActionFullWorksheet: TAction;
ToolButton10: TToolButton;
N3: TMenuItem;
FullWorksheet1: TMenuItem;
procedure TabControlChange(Sender: TObject);
procedure ActionCopyFormatExecute(Sender: TObject);
procedure ActionPasteFormatExecute(Sender: TObject);
procedure ActionCellFormatExecute(Sender: TObject);
procedure ActionRowFormatExecute(Sender: TObject);
procedure ActionColFormatExecute(Sender: TObject);
procedure TrackBarZoomChange(Sender: TObject);
procedure ActionZoomExecute(Sender: TObject);
procedure ActionReadOnlyExecute(Sender: TObject);
procedure ActionSaveAsExecute(Sender: TObject);
procedure ActionCloseExecute(Sender: TObject);
procedure Action10Execute(Sender: TObject);
procedure Action25Execute(Sender: TObject);
procedure Action50Execute(Sender: TObject);
procedure Action100Execute(Sender: TObject);
procedure Action200Execute(Sender: TObject);
procedure Action400Execute(Sender: TObject);
procedure ActionFullWorksheetExecute(Sender: TObject);
private
ClipFormat: integer;
FormatDialog: TFormatDialog;
{ Private declarations }
public
procedure FillData;
{ Public declarations }
end;
implementation
{$R *.DFM}
{ TDemoEdit }
procedure TDemoEdit.FillData;
var
p: integer;
begin
TabControl.Tabs.Clear;
for p:=1 to DemoData.FlexCelImport.SheetCount do
begin
DemoData.FlexCelImport.ActiveSheet:=p;
TabControl.Tabs.Add(DemoData.FlexCelImport.ActiveSheetName);
end;
DemoData.FlexCelImport.ActiveSheet:=1;
TabControl.TabIndex:=DemoData.FlexCelImport.ActiveSheet-1;
Data.LoadSheet;
end;
procedure TDemoEdit.TabControlChange(Sender: TObject);
begin
Data.ApplySheet;
DemoData.FlexCelImport.ActiveSheet:= TabControl.TabIndex+1;
Data.LoadSheet;
end;
procedure TDemoEdit.ActionCopyFormatExecute(Sender: TObject);
begin
ClipFormat:=DemoData.FlexCelImport.CellFormat[Data.Row, Data.Col];
end;
procedure TDemoEdit.ActionPasteFormatExecute(Sender: TObject);
begin
DemoData.FlexCelImport.CellFormat[Data.Row, Data.Col]:=ClipFormat;
Data.Invalidate;
end;
procedure TDemoEdit.ActionCellFormatExecute(Sender: TObject);
begin
if FormatDialog=nil then
begin
FormatDialog:= TFormatDialog.Create(Self);
FormatDialog.SetData(DemoData.FlexCelImport);
end;
FormatDialog.Caption:='Choose CELL Format:';
FormatDialog.Load;
FormatDialog.SelectedFormat:=DemoData.FlexCelImport.CellFormat[Data.Row, Data.Col];
if FormatDialog.ShowModal<>mrOk then exit;
DemoData.FlexCelImport.CellFormat[Data.Row, Data.Col]:=FormatDialog.SelectedFormat;
end;
procedure TDemoEdit.ActionRowFormatExecute(Sender: TObject);
begin
if FormatDialog=nil then
begin
FormatDialog:= TFormatDialog.Create(Self);
FormatDialog.SetData(DemoData.FlexCelImport);
end;
FormatDialog.Caption:='Choose ROW Format:';
FormatDialog.Load;
FormatDialog.SelectedFormat:=DemoData.FlexCelImport.RowFormat[Data.Row];
if FormatDialog.ShowModal<>mrOk then exit;
DemoData.FlexCelImport.RowFormat[Data.Row]:=FormatDialog.SelectedFormat;
Data.Invalidate;
end;
procedure TDemoEdit.ActionColFormatExecute(Sender: TObject);
begin
if FormatDialog=nil then
begin
FormatDialog:= TFormatDialog.Create(Self);
FormatDialog.SetData(DemoData.FlexCelImport);
end;
FormatDialog.Caption:='Choose COLUMN Format:';
FormatDialog.Load;
FormatDialog.SelectedFormat:=DemoData.FlexCelImport.ColumnFormat[Data.Col];
if FormatDialog.ShowModal<>mrOk then exit;
DemoData.FlexCelImport.ColumnFormat[Data.Col]:=FormatDialog.SelectedFormat;
Data.Invalidate;
end;
procedure TDemoEdit.TrackBarZoomChange(Sender: TObject);
begin
Data.Zoom:=(Sender as TTrackBar).Position;
PanelZoom.Caption:=Format('%d%%',[ Data.Zoom]);
end;
procedure TDemoEdit.ActionZoomExecute(Sender: TObject);
begin
if TrackBarZoom.Position<25 then TrackBarZoom.Position:=25 else
if TrackBarZoom.Position<50 then TrackBarZoom.Position:=50 else
if TrackBarZoom.Position<100 then TrackBarZoom.Position:=100 else
if TrackBarZoom.Position<200 then TrackBarZoom.Position:=200 else
if TrackBarZoom.Position<400 then TrackBarZoom.Position:=400 else
TrackBarZoom.Position:=10;
end;
procedure TDemoEdit.ActionReadOnlyExecute(Sender: TObject);
begin
ActionReadOnly.Checked:=not ActionReadOnly.Checked;
Data.ReadOnly:=ActionReadOnly.Checked;
end;
procedure TDemoEdit.ActionSaveAsExecute(Sender: TObject);
begin
if not DemoData.XlsSaveDialog.Execute then exit;
if FileExists(DemoData.XlsSaveDialog.FileName) then DeleteFile(DemoData.XlsSaveDialog.FileName);
Data.ApplySheet;
DemoData.FlexCelImport.Save(DemoData.XlsSaveDialog.FileName);
end;
procedure TDemoEdit.ActionCloseExecute(Sender: TObject);
begin
Close;
end;
procedure TDemoEdit.Action10Execute(Sender: TObject);
begin
TrackBarZoom.Position:=10;
end;
procedure TDemoEdit.Action25Execute(Sender: TObject);
begin
TrackBarZoom.Position:=25;
end;
procedure TDemoEdit.Action50Execute(Sender: TObject);
begin
TrackBarZoom.Position:=50;
end;
procedure TDemoEdit.Action100Execute(Sender: TObject);
begin
TrackBarZoom.Position:=100;
end;
procedure TDemoEdit.Action200Execute(Sender: TObject);
begin
TrackBarZoom.Position:=200;
end;
procedure TDemoEdit.Action400Execute(Sender: TObject);
begin
TrackBarZoom.Position:=400;
end;
procedure TDemoEdit.ActionFullWorksheetExecute(Sender: TObject);
begin
ActionFullWorksheet.Checked:=not ActionFullWorksheet.Checked;
Data.FullWorksheet:= ActionFullWorksheet.Checked;
Data.LoadSheet;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -