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'
|
||||
TabOrder = 5
|
||||
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
|
||||
left = 280
|
||||
top = 128
|
||||
|
@ -6,7 +6,7 @@ interface
|
||||
|
||||
uses
|
||||
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
|
||||
Spin, Types,
|
||||
Spin, Buttons, Types,
|
||||
fpstypes, fpspreadsheet, fpspreadsheetgrid;
|
||||
|
||||
type
|
||||
@ -22,12 +22,16 @@ type
|
||||
Grid: TsWorksheetGrid;
|
||||
OpenDialog: TOpenDialog;
|
||||
SaveDialog: TSaveDialog;
|
||||
BtnPrevSheet: TSpeedButton;
|
||||
BtnNextSheet: TSpeedButton;
|
||||
procedure BtnOpenClick(Sender: TObject);
|
||||
procedure BtnPrevSheetClick(Sender: TObject);
|
||||
procedure BtnSaveClick(Sender: TObject);
|
||||
procedure edZoomEditingDone(Sender: TObject);
|
||||
procedure FormCreate(Sender: TObject);
|
||||
procedure GridMouseWheel(Sender: TObject; Shift: TShiftState;
|
||||
WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
|
||||
procedure BtnNextSheetClick(Sender: TObject);
|
||||
private
|
||||
FWorkbook: TsWorkbook;
|
||||
FOpenFormats: TsSpreadFormatIDArray;
|
||||
@ -72,6 +76,38 @@ begin
|
||||
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);
|
||||
var
|
||||
fmt: TsSpreadFormatID;
|
||||
@ -142,6 +178,8 @@ procedure TMainForm.LoadFile(const AFileName: String; AFormatID: TsSpreadFormatI
|
||||
var
|
||||
crs: TCursor;
|
||||
book: TsWorkbook;
|
||||
i: Integer;
|
||||
sheet: TsWorksheet;
|
||||
begin
|
||||
crs := Screen.Cursor;
|
||||
try
|
||||
@ -153,7 +191,12 @@ begin
|
||||
book.ReadFromFile(AFilename, AFormatID);
|
||||
// If you want to override the zoom factor of the file set it before
|
||||
// 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.
|
||||
Grid.LoadFromWorkbook(book, 0);
|
||||
except
|
||||
|
@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<CONFIG>
|
||||
<ProjectOptions>
|
||||
<Version Value="9"/>
|
||||
<Version Value="10"/>
|
||||
<PathDelim Value="\"/>
|
||||
<General>
|
||||
<SessionStorage Value="InProjectDir"/>
|
||||
|
Reference in New Issue
Block a user