You've already forked lazarus-ccr
fpspreadsheet: Add zooming support to WorksheetGrid (use SHIFT+CTRL+MouseWheel in fpctrls demo).
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@5218 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@@ -8,7 +8,7 @@ uses
|
||||
Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, ExtCtrls,
|
||||
ComCtrls, ActnList, Menus, StdActns, Buttons,
|
||||
fpstypes, fpspreadsheet, fpspreadsheetctrls, fpspreadsheetgrid, fpsActions,
|
||||
fpsRegFileFormats, fpsSYLK, xlsxml, Grids;
|
||||
fpsRegFileFormats, fpsSYLK, xlsxml, Grids, Types;
|
||||
|
||||
type
|
||||
|
||||
@@ -383,6 +383,8 @@ type
|
||||
procedure InspectorTabControlChange(Sender: TObject);
|
||||
procedure WorksheetGridClickHyperlink(Sender: TObject;
|
||||
const AHyperlink: TsHyperlink);
|
||||
procedure WorksheetGridMouseWheel(Sender: TObject; Shift: TShiftState;
|
||||
WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean);
|
||||
private
|
||||
{ private declarations }
|
||||
FOpenFormats: TsSpreadFormatIDArray;
|
||||
@@ -845,5 +847,20 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TMainForm.WorksheetGridMouseWheel(Sender: TObject;
|
||||
Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint;
|
||||
var Handled: Boolean);
|
||||
const
|
||||
GROWTH_FACTOR = 1.05;
|
||||
begin
|
||||
if ([ssCtrl, ssShift] * Shift = [ssCtrl, ssShift]) then begin
|
||||
if WheelDelta > 0 then
|
||||
WorksheetGrid.ZoomFactor := GROWTH_FACTOR* WorksheetGrid.ZoomFactor
|
||||
else
|
||||
WorksheetGrid.ZoomFactor := WorksheetGrid.ZoomFactor / GROWTH_FACTOR;
|
||||
Handled := true;
|
||||
end;
|
||||
end;
|
||||
|
||||
end.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user