AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia TPrinter Seitenränder (nicht bedruckbarer Bereich)
Thema durchsuchen
Ansicht
Themen-Optionen

TPrinter Seitenränder (nicht bedruckbarer Bereich)

Ein Thema von skoschke · begonnen am 2. Jul 2019 · letzter Beitrag vom 4. Jul 2019
Antwort Antwort
skoschke

Registriert seit: 6. Jan 2009
523 Beiträge
 
Delphi 10.4 Sydney
 
#1

TPrinter Seitenränder (nicht bedruckbarer Bereich)

  Alt 2. Jul 2019, 13:01
Hallo,

in einem Designerprogramm möchte ich die nicht bedruckbaren Bereiche (Seitenränder) des aktuell eingestellten Druckers anzeigen.

GetDeviceCaps HORZSIZE und VERTSIZE geben mir die bedruckbare Größe an.

GetDeviceCaps PHYSICALOFFSETX und PHYSICALOFFSETY die linke obere Ecke des bedruckbaren Bereichs.

Eine rechte untere Ecke gibt es nicht, wie bekomme ich die restlichen /rechten und unteren Ränder?

Ciao
Stefan
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.355 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: TPrinter Seitenränder (nicht bedruckbarer Bereich)

  Alt 2. Jul 2019, 13:23
Vielleicht einfach ausrechnen?

Du kennst die Höhe und Breite. Außerdem ist die obere linke Ecke bekannt.
Ich vermute, die Papiergröße kennst du auch.
So, wie du es geschrieben hast, kennst du auch schon den linken und oberen nicht bedruckbaren Bereich.
Addition und Subtraktion sollten bekannte Begriffe sein.

Oder verstehe ich einfach das Problem nicht?
Peter
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: TPrinter Seitenränder (nicht bedruckbarer Bereich)

  Alt 2. Jul 2019, 13:24
Hallo,
hilft das hier?

http://www.delphigroups.info/2/1/318312.html

Im Text ist auch noch ein weiterer Link.

Aus dem Thread
If you call GetDeviceCaps with the following values:
PHYSICALWIDTH / PHYSICALHEIGHT you get the paper's physical size (including
border).
HORZRES / VERTRES you get the paper's printable size.
PHYSICALOFFSETX / PHYSICALOFFSETY you get offset from the paper's edge to
the printable area.
Heiko

Geändert von hoika ( 2. Jul 2019 um 16:47 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#4

AW: TPrinter Seitenränder (nicht bedruckbarer Bereich)

  Alt 2. Jul 2019, 13:49
Gibt es denn Drucker, die links und rechts bzw. oben und unten unterschiedliche Druckbereiche haben? Falls nicht (ich kenne zumindest spontan keinen), verstehe ich die Frage nicht.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
skoschke

Registriert seit: 6. Jan 2009
523 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: TPrinter Seitenränder (nicht bedruckbarer Bereich)

  Alt 2. Jul 2019, 15:21
Zitat:
Gibt es denn Drucker, die links und rechts bzw. oben und unten unterschiedliche Druckbereiche haben?
Genau darum geht es, ich weiß es nicht und möchte daher ungern einfach davon ausgehen, dass die nicht bedruckbaren Ränder links und rechts bzw.oben und unten immer gleich sind.

Ciao
Stefan
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#6

AW: TPrinter Seitenränder (nicht bedruckbarer Bereich)

  Alt 2. Jul 2019, 16:50
Gibt es denn Drucker, die links und rechts bzw. oben und unten unterschiedliche Druckbereiche haben? Falls nicht (ich kenne zumindest spontan keinen), verstehe ich die Frage nicht.
Ja, gibt es (sind mir auf jeden Fall schon mal untergekommen).

Aber ist doch auch egal, denn mit der Angabe PyhsicalOffsettX, PhysicalOffsetY sowie der HorzSize und VertSize hat man doch alles, was man braucht.

Die Koordinaten vom Punkt unten rechts erhält man durch
Code:
x = PhysicalOffsetX + HorzSize
y = PhysicalOffsetY + VertSize
(Das ist das, was Jasocul gemeint hat)
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.355 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: TPrinter Seitenränder (nicht bedruckbarer Bereich)

  Alt 3. Jul 2019, 08:22
Die Koordinaten vom Punkt unten rechts erhält man durch
Code:
x = PhysicalOffsetX + HorzSize
y = PhysicalOffsetY + VertSize
(Das ist das, was Jasocul gemeint hat)
So ähnlich habe ich es gemeint. Um den Rand zu berechnen, muss man aber noch die Papiergröße berücksichtigen. Das sollte aber jetzt kein Problem mehr sein.
Peter
  Mit Zitat antworten Zitat
skoschke

Registriert seit: 6. Jan 2009
523 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: TPrinter Seitenränder (nicht bedruckbarer Bereich)

  Alt 4. Jul 2019, 07:16
Danke, funktioniert nun wie gewünscht

Ciao
Stefan
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:27 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