You've already forked lazarus-ccr
tvplanit: Fix incorrect page size in print preview.
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8531 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -307,7 +307,7 @@ Contributor(s): "/>
|
|||||||
</Item68>
|
</Item68>
|
||||||
<Item69>
|
<Item69>
|
||||||
<Filename Value="source\vpganttviewpainter.pas"/>
|
<Filename Value="source\vpganttviewpainter.pas"/>
|
||||||
<UnitName Value="vpganttviewpainter"/>
|
<UnitName Value="VpGanttViewPainter"/>
|
||||||
</Item69>
|
</Item69>
|
||||||
</Files>
|
</Files>
|
||||||
<CompatibilityMode Value="True"/>
|
<CompatibilityMode Value="True"/>
|
||||||
@ -316,13 +316,16 @@ Contributor(s): "/>
|
|||||||
<OutDir Value="languages"/>
|
<OutDir Value="languages"/>
|
||||||
<EnableI18NForLFM Value="True"/>
|
<EnableI18NForLFM Value="True"/>
|
||||||
</i18n>
|
</i18n>
|
||||||
<RequiredPkgs Count="2">
|
<RequiredPkgs Count="3">
|
||||||
<Item1>
|
<Item1>
|
||||||
<PackageName Value="LCL"/>
|
<PackageName Value="Printer4Lazarus"/>
|
||||||
</Item1>
|
</Item1>
|
||||||
<Item2>
|
<Item2>
|
||||||
<PackageName Value="FCL"/>
|
<PackageName Value="LCL"/>
|
||||||
</Item2>
|
</Item2>
|
||||||
|
<Item3>
|
||||||
|
<PackageName Value="FCL"/>
|
||||||
|
</Item3>
|
||||||
</RequiredPkgs>
|
</RequiredPkgs>
|
||||||
<UsageOptions>
|
<UsageOptions>
|
||||||
<UnitPath Value="$(PkgOutDir)"/>
|
<UnitPath Value="$(PkgOutDir)"/>
|
||||||
|
@ -110,8 +110,8 @@ type
|
|||||||
function GetPageCount: Integer;
|
function GetPageCount: Integer;
|
||||||
|
|
||||||
protected
|
protected
|
||||||
function CalculatePageHeight(Printer: TPrinter): Integer;
|
function CalculatePageHeight(APrinter: TPrinter): Integer;
|
||||||
function CalculatePageWidth(Printer: TPrinter): Integer;
|
function CalculatePageWidth(APrinter: TPrinter): Integer;
|
||||||
procedure ClearPageData;
|
procedure ClearPageData;
|
||||||
{$IFDEF DELPHI}
|
{$IFDEF DELPHI}
|
||||||
procedure CMWantSpecialKey(var Msg: TCMWantSpecialKey); message CM_WANTSPECIALKEY;
|
procedure CMWantSpecialKey(var Msg: TCMWantSpecialKey); message CM_WANTSPECIALKEY;
|
||||||
@ -231,6 +231,9 @@ type
|
|||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
|
||||||
|
uses
|
||||||
|
OSPrinters;
|
||||||
|
|
||||||
constructor TVpPrintPreview.Create(AOwner: TComponent);
|
constructor TVpPrintPreview.Create(AOwner: TComponent);
|
||||||
begin
|
begin
|
||||||
inherited Create(AOwner);
|
inherited Create(AOwner);
|
||||||
@ -262,7 +265,7 @@ begin
|
|||||||
FEndDate := Now + 7;
|
FEndDate := Now + 7;
|
||||||
FScrollX := 0;
|
FScrollX := 0;
|
||||||
FScrollY := 0;
|
FScrollY := 0;
|
||||||
FPrinter := Printer;
|
FPrinter := Printers.Printer;
|
||||||
|
|
||||||
// Initial size of the control
|
// Initial size of the control
|
||||||
with GetControlClassDefaultSize do
|
with GetControlClassDefaultSize do
|
||||||
@ -284,39 +287,39 @@ begin
|
|||||||
inherited Destroy;
|
inherited Destroy;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TVpPrintPreview.CalculatePageHeight(Printer: TPrinter): Integer;
|
function TVpPrintPreview.CalculatePageHeight(APrinter: TPrinter): Integer;
|
||||||
var
|
var
|
||||||
ScreenPPI: Integer;
|
ScreenPPI: Integer;
|
||||||
PrinterPPI: Integer;
|
PrinterPPI: Integer;
|
||||||
begin
|
begin
|
||||||
ScreenPPI := GetDeviceCaps(Canvas.Handle, LOGPIXELSY);
|
ScreenPPI := GetDeviceCaps(Canvas.Handle, LOGPIXELSY);
|
||||||
{$IFDEF DELPHI}
|
{$IFDEF DELPHI}
|
||||||
PrinterPPI := GetDeviceCaps(Printer.Handle, LOGPIXELSY);
|
PrinterPPI := GetDeviceCaps(APrinter.Handle, LOGPIXELSY);
|
||||||
{$ELSE}
|
{$ELSE}
|
||||||
PrinterPPI := Printer.XDpi;
|
PrinterPPI := APrinter.XDpi;
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
if PrinterPPI <> 0 then
|
if PrinterPPI <> 0 then
|
||||||
Result := Round(ScreenPPI / PrinterPPI * Printer.PageHeight)
|
Result := Round(ScreenPPI / PrinterPPI * APrinter.PageHeight)
|
||||||
else
|
else
|
||||||
Result := ScreenPPI * Printer.PageHeight;
|
Result := ScreenPPI * APrinter.PageHeight;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TVpPrintPreview.CalculatePageWidth(Printer: TPrinter) : Integer;
|
function TVpPrintPreview.CalculatePageWidth(APrinter: TPrinter) : Integer;
|
||||||
var
|
var
|
||||||
ScreenPPI: Integer;
|
ScreenPPI: Integer;
|
||||||
PrinterPPI: Integer;
|
PrinterPPI: Integer;
|
||||||
begin
|
begin
|
||||||
ScreenPPI := GetDeviceCaps(Canvas.Handle, LOGPIXELSX);
|
ScreenPPI := GetDeviceCaps(Canvas.Handle, LOGPIXELSX);
|
||||||
{$IFDEF DELPHI}
|
{$IFDEF DELPHI}
|
||||||
PrinterPPI := GetDeviceCaps(Printer.Handle, LOGPIXELSX);
|
PrinterPPI := GetDeviceCaps(APrinter.Handle, LOGPIXELSX);
|
||||||
{$ELSE}
|
{$ELSE}
|
||||||
PrinterPPI := Printer.XDpi;
|
PrinterPPI := APrinter.XDpi;
|
||||||
|
|
||||||
if PrinterPPI <> 0 then
|
if PrinterPPI <> 0 then
|
||||||
Result := Round(ScreenPPI / PrinterPPI * Printer.PageWidth)
|
Result := Round(ScreenPPI / PrinterPPI * APrinter.PageWidth)
|
||||||
else
|
else
|
||||||
Result := ScreenPPI * Printer.PageHeight;
|
Result := ScreenPPI * APrinter.PageHeight;
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
@ -14,7 +14,6 @@ object frmPrintPreview: TfrmPrintPreview
|
|||||||
OnCreate = FormCreate
|
OnCreate = FormCreate
|
||||||
OnKeyDown = FormKeyDown
|
OnKeyDown = FormKeyDown
|
||||||
OnShow = FormShow
|
OnShow = FormShow
|
||||||
LCLVersion = '2.3.0.0'
|
|
||||||
object Panel1: TPanel
|
object Panel1: TPanel
|
||||||
Left = 0
|
Left = 0
|
||||||
Height = 56
|
Height = 56
|
||||||
@ -51,7 +50,7 @@ object frmPrintPreview: TfrmPrintPreview
|
|||||||
end
|
end
|
||||||
object ToolButton3: TToolButton
|
object ToolButton3: TToolButton
|
||||||
Left = 55
|
Left = 55
|
||||||
Height = 5
|
Height = 25
|
||||||
Top = 0
|
Top = 0
|
||||||
Caption = 'ToolButton3'
|
Caption = 'ToolButton3'
|
||||||
ImageIndex = 2
|
ImageIndex = 2
|
||||||
@ -87,7 +86,7 @@ object frmPrintPreview: TfrmPrintPreview
|
|||||||
end
|
end
|
||||||
object ToolButton8: TToolButton
|
object ToolButton8: TToolButton
|
||||||
Left = 152
|
Left = 152
|
||||||
Height = 5
|
Height = 25
|
||||||
Top = 0
|
Top = 0
|
||||||
Caption = 'ToolButton8'
|
Caption = 'ToolButton8'
|
||||||
ImageIndex = 6
|
ImageIndex = 6
|
||||||
|
@ -168,6 +168,7 @@ implementation
|
|||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|
||||||
uses
|
uses
|
||||||
|
OSPrinters,
|
||||||
VpConst, // needed for define VP_LCL_SCALING
|
VpConst, // needed for define VP_LCL_SCALING
|
||||||
VpPrtFmt;
|
VpPrtFmt;
|
||||||
|
|
||||||
@ -279,7 +280,7 @@ begin
|
|||||||
EditForm.VpPrintPreview1.EndDate := EndDate;
|
EditForm.VpPrintPreview1.EndDate := EndDate;
|
||||||
EditForm.VpPrintPreview1.ZoomFactor := ZoomFactor;
|
EditForm.VpPrintPreview1.ZoomFactor := ZoomFactor;
|
||||||
EditForm.cboxZoom.ItemIndex := Integer(ZoomFactor);
|
EditForm.cboxZoom.ItemIndex := Integer(ZoomFactor);
|
||||||
EditForm.VpPrintPreview1.Printer := Printer;
|
EditForm.VpPrintPreview1.Printer := Printers.Printer;
|
||||||
EditForm.VpPrintPreview1.ForceUpdate;
|
EditForm.VpPrintPreview1.ForceUpdate;
|
||||||
EditForm.VpPrintPreview1.FirstPage;
|
EditForm.VpPrintPreview1.FirstPage;
|
||||||
EditForm.DrawingStyle := FDrawingStyle;
|
EditForm.DrawingStyle := FDrawingStyle;
|
||||||
|
Reference in New Issue
Block a user