You've already forked lazarus-ccr
fpspreadsheet: Extend zoom demo to show all pages of the same workbook with the same predefined zoom factor
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5544 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -93,6 +93,24 @@ object MainForm: TMainForm
|
|||||||
Caption = 'Write zoom factor'
|
Caption = 'Write zoom factor'
|
||||||
TabOrder = 5
|
TabOrder = 5
|
||||||
end
|
end
|
||||||
|
object BtnPrevSheet: TSpeedButton
|
||||||
|
Left = 504
|
||||||
|
Height = 23
|
||||||
|
Top = 406
|
||||||
|
Width = 79
|
||||||
|
Anchors = [akRight, akBottom]
|
||||||
|
Caption = 'Prev sheet'
|
||||||
|
OnClick = BtnPrevSheetClick
|
||||||
|
end
|
||||||
|
object BtnNextSheet: TSpeedButton
|
||||||
|
Left = 588
|
||||||
|
Height = 23
|
||||||
|
Top = 406
|
||||||
|
Width = 79
|
||||||
|
Anchors = [akRight, akBottom]
|
||||||
|
Caption = 'Next sheet'
|
||||||
|
OnClick = BtnNextSheetClick
|
||||||
|
end
|
||||||
object OpenDialog: TOpenDialog
|
object OpenDialog: TOpenDialog
|
||||||
left = 280
|
left = 280
|
||||||
top = 128
|
top = 128
|
||||||
|
@ -6,7 +6,7 @@ interface
|
|||||||
|
|
||||||
uses
|
uses
|
||||||
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
|
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
|
||||||
Spin, Types,
|
Spin, Buttons, Types,
|
||||||
fpstypes, fpspreadsheet, fpspreadsheetgrid;
|
fpstypes, fpspreadsheet, fpspreadsheetgrid;
|
||||||
|
|
||||||
type
|
type
|
||||||
@ -22,12 +22,16 @@ type
|
|||||||
Grid: TsWorksheetGrid;
|
Grid: TsWorksheetGrid;
|
||||||
OpenDialog: TOpenDialog;
|
OpenDialog: TOpenDialog;
|
||||||
SaveDialog: TSaveDialog;
|
SaveDialog: TSaveDialog;
|
||||||
|
BtnPrevSheet: TSpeedButton;
|
||||||
|
BtnNextSheet: TSpeedButton;
|
||||||
procedure BtnOpenClick(Sender: TObject);
|
procedure BtnOpenClick(Sender: TObject);
|
||||||
|
procedure BtnPrevSheetClick(Sender: TObject);
|
||||||
procedure BtnSaveClick(Sender: TObject);
|
procedure BtnSaveClick(Sender: TObject);
|
||||||
procedure edZoomEditingDone(Sender: TObject);
|
procedure edZoomEditingDone(Sender: TObject);
|
||||||
procedure FormCreate(Sender: TObject);
|
procedure FormCreate(Sender: TObject);
|
||||||
procedure GridMouseWheel(Sender: TObject; Shift: TShiftState;
|
procedure GridMouseWheel(Sender: TObject; Shift: TShiftState;
|
||||||
WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
|
WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
|
||||||
|
procedure BtnNextSheetClick(Sender: TObject);
|
||||||
private
|
private
|
||||||
FWorkbook: TsWorkbook;
|
FWorkbook: TsWorkbook;
|
||||||
FOpenFormats: TsSpreadFormatIDArray;
|
FOpenFormats: TsSpreadFormatIDArray;
|
||||||
@ -72,6 +76,38 @@ begin
|
|||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
procedure TMainForm.BtnNextSheetClick(Sender: TObject);
|
||||||
|
var
|
||||||
|
i, n: Integer;
|
||||||
|
begin
|
||||||
|
n := Grid.Workbook.GetWorksheetCount;
|
||||||
|
i := 0;
|
||||||
|
while (i < n-1) do begin
|
||||||
|
if (Grid.Workbook.GetWorksheetByIndex(i) = Grid.Worksheet) then
|
||||||
|
begin
|
||||||
|
Grid.LoadFromWorkbook(Grid.Workbook, i+1);
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
|
inc(i);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TMainForm.BtnPrevSheetClick(Sender: TObject);
|
||||||
|
var
|
||||||
|
i, n: Integer;
|
||||||
|
begin
|
||||||
|
n := Grid.Workbook.GetWorksheetCount;
|
||||||
|
i := 1;
|
||||||
|
while (i < n) do begin
|
||||||
|
if (Grid.Workbook.GetWorksheetByIndex(i) = Grid.Worksheet) then
|
||||||
|
begin
|
||||||
|
Grid.LoadFromWorkbook(Grid.Workbook, i-1);
|
||||||
|
exit;
|
||||||
|
end;
|
||||||
|
inc(i);
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TMainForm.BtnSaveClick(Sender: TObject);
|
procedure TMainForm.BtnSaveClick(Sender: TObject);
|
||||||
var
|
var
|
||||||
fmt: TsSpreadFormatID;
|
fmt: TsSpreadFormatID;
|
||||||
@ -142,6 +178,8 @@ procedure TMainForm.LoadFile(const AFileName: String; AFormatID: TsSpreadFormatI
|
|||||||
var
|
var
|
||||||
crs: TCursor;
|
crs: TCursor;
|
||||||
book: TsWorkbook;
|
book: TsWorkbook;
|
||||||
|
i: Integer;
|
||||||
|
sheet: TsWorksheet;
|
||||||
begin
|
begin
|
||||||
crs := Screen.Cursor;
|
crs := Screen.Cursor;
|
||||||
try
|
try
|
||||||
@ -153,7 +191,12 @@ begin
|
|||||||
book.ReadFromFile(AFilename, AFormatID);
|
book.ReadFromFile(AFilename, AFormatID);
|
||||||
// If you want to override the zoom factor of the file set it before
|
// If you want to override the zoom factor of the file set it before
|
||||||
// assigning the worksheet to the grid.
|
// assigning the worksheet to the grid.
|
||||||
book.GetFirstWorksheet.ZoomFactor := edZoom.Value / 100;
|
for i:=0 to book.GetWorksheetCount-1 do
|
||||||
|
begin
|
||||||
|
sheet := book.GetWorksheetByIndex(i);
|
||||||
|
sheet.ZoomFactor := edZoom.Value / 100;
|
||||||
|
end;
|
||||||
|
// book.GetFirstWorksheet.ZoomFactor := edZoom.Value / 100;
|
||||||
// Load the worksheet into the grid.
|
// Load the worksheet into the grid.
|
||||||
Grid.LoadFromWorkbook(book, 0);
|
Grid.LoadFromWorkbook(book, 0);
|
||||||
except
|
except
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<CONFIG>
|
<CONFIG>
|
||||||
<ProjectOptions>
|
<ProjectOptions>
|
||||||
<Version Value="9"/>
|
<Version Value="10"/>
|
||||||
<PathDelim Value="\"/>
|
<PathDelim Value="\"/>
|
||||||
<General>
|
<General>
|
||||||
<SessionStorage Value="InProjectDir"/>
|
<SessionStorage Value="InProjectDir"/>
|
||||||
|
Reference in New Issue
Block a user