Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Blattbreite u -Höhe außerhalb außerhalb v BeginDoc in 1/10mm (https://www.delphipraxis.net/9446-blattbreite-u-hoehe-ausserhalb-ausserhalb-v-begindoc-1-10mm.html)

SirThornberry 26. Sep 2003 14:30


Blattbreite u -Höhe außerhalb außerhalb v BeginDoc in 1/10mm
 
Hallo, um eine Druckvorschau zu realisieren brauch ich die Breite und Höhe des Blattes (nicht in Pixeln).
Mein erster Gedanke war mit
SetMapMode(Printer.Canvas.Handle, MM_LOMETRIC);
die einheit maßeinheit zu setzen und danach mit printer.pagewith oder ähnlichem die Breite des Blattes abzufragen.
Das Problem ist aber das
SetMapMode(Printer.Canvas.Handle, MM_LOMETRIC);
nicht vor printer.BeginDoc stehen darf. Was gibts noch für Möglichkeiten die Breite rauszufinden?? (Blattränder sind mir egal)

Gollum 26. Sep 2003 15:23

Re: Blattbreite u -Höhe außerhalb außerhalb v BeginDoc in 1/
 
Hallo,

mit GetDeviceCaps kannst Du die erforderlichen Info's abfragen.

Code:
  Breite:=GetDeviceCaps(Printer.Handle, HORZSIZE); // Breite in mm
  Hoehe:=GetDeviceCaps(Printer.Handle, VWERTSIZE); // Höhe in mm

SirThornberry 26. Sep 2003 15:23

Re: Blattbreite u -Höhe außerhalb außerhalb v BeginDoc in 1/
 
hab en Lösung gefunden:

Delphi-Quellcode:
[...]
breite := getdevicecaps(printer.Handle, HORZSIZE) * 10;
[...]
hatte es vorher mit
breite := getdevicecaps(printer.canvas.Handle, HORZSIZE) * 10;
versucht aber zugriff auf canvas ist ja erst nach begindoc möglich.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:34 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz