Hallo delphi-Gemeinde,
auch wenn das Thema evtl. schon mal behandelt wurde, lasst mir dennoch mein Leben, ich finde nicht die passende Antwort auf Problem. Sicher ist dieses wieder mal sehr trivial:
Ich möchte 1/10 millimetergenau (also wohl MM_LOMETRICS) verschiedene Texte und Diagramme ausdrucken. Dazu soll auf jedem Blatt eine Kopfzeile, Fußzeile und vor allem ein Rahmen gedruckt werden. Beispielsweise sollen die Abstände vom Blattrand folgendermaßen sein :
oben : 20 mm links: 25 mm rechts; 20 mm unten: 30 mm
Mein Problem ist nun, die Koordinaten der 4 Punkte des Rahmens zu ermitteln. Dazu benötige ich jedoch auch die druckerinternen (minimalen Ränder), d.h. ab wo der Drucker erst drucken kann, in Millimetern.
Wenn ich also die x-Koordinate für den linken Rand x_links bestimmen will:
druckerrand_links:=getDevicecaps(
handle,PHYSICALOF FSETX); //hier: druckerrand_links=80
x_links:= (25*10)- druckerrand_links; //hier: x_links=170
moveto(x_links,y_oben);
Lineto(x_links,y_unten);
Der Abstand der linken vertikalen Linie beim Drucken beträgt dann jedoch nicht 25 mm, sondern nur ca. 20 mm vom linken Blattrand !
Analog gibt es natürlich auch Probleme bei den anderen drei Linien.
An welcher Stelle habe ich einen Denkfehler?
Gruß, delphinewbie