| Code: |
|
function TPrintPreview.GetPrinterPageBounds: TRect; var Offset: TPoint; DPI: TPoint; // -- Mixy -- PrintAreaX, PrintAreaY: integer; begin Result := PageBounds; if PrinterInstalled then begin Offset.X := GetDeviceCaps(Printer.Handle, PHYSICALOFFSETX); Offset.Y := GetDeviceCaps(Printer.Handle, PHYSICALOFFSETY); DPI.X := GetDeviceCaps(Printer.Handle, LOGPIXELSX); DPI.Y := GetDeviceCaps(Printer.Handle, LOGPIXELSY); Offset.X := ConvertUnits(Offset.X, DPI.X, mmPixel, Units); Offset.Y := ConvertUnits(Offset.Y, DPI.Y, mmPixel, Units); // -- Mixy -- PrintAreaX:=GetDeviceCaps(Printer.Handle, HORZRES); PrintAreaY:=GetDeviceCaps(Printer.Handle, VERTRES); PrintAreaX:=ConvertUnits(PrintAreaX, DPI.X, mmPixel, Units); PrintAreaY:=ConvertUnits(PrintAreaY, DPI.X, mmPixel, Units); // InflateRect(Result, -Offset.X, -Offset.Y); // -- Mixy -- Result.Left:=Offset.X; Result.Top:=Offset.Y; Result.Right:=Offset.X+PrintAreaX; Result.Bottom:=Offset.Y+PrintAreaY; end; end; |
output generated using printer-friendly topic mod. All times are GMT