AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Druckseitenanzahl eines Richedit?

Ein Thema von Mattze · begonnen am 31. Dez 2008 · letzter Beitrag vom 1. Jan 2009
Antwort Antwort
Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#1

Druckseitenanzahl eines Richedit?

  Alt 31. Dez 2008, 17:22
Hallo,

fällt mir gerade ein, aber erst mal: Guten Rutsch und ein erfolgreiches 2009!

Wie bekommt man vor dem Druck eines Richedit die zu erwartende Seitenzahl raus?

Geht das so, wie in TRichedit.print vorgemacht. Nur, dass als Ziel Range.hdctarget NIL angegeben wird?
Äh... Nein, das kann ja nicht funktionieren, weil ja damit für die Druckausgabe formatiert wird, was die Seitenanzahl natürlich wieder beeinflusst.
Vielleicht ohne BeginDoch und Enddoc für den Drucker?

Also, ich habe keine Idee.
Habt Ihr eine Vorschlag?

Gruß
Mattze
  Mit Zitat antworten Zitat
Reinhard Kern

Registriert seit: 22. Okt 2006
772 Beiträge
 
#2

Re: Druckseitenanzahl eines Richedit?

  Alt 1. Jan 2009, 10:06
Zitat von Mattze:
Hallo,

fällt mir gerade ein, aber erst mal: Guten Rutsch und ein erfolgreiches 2009!

Wie bekommt man vor dem Druck eines Richedit die zu erwartende Seitenzahl raus?

Geht das so, wie in TRichedit.print vorgemacht. Nur, dass als Ziel Range.hdctarget NIL angegeben wird?
Äh... Nein, das kann ja nicht funktionieren, weil ja damit für die Druckausgabe formatiert wird, was die Seitenanzahl natürlich wieder beeinflusst.
Vielleicht ohne BeginDoch und Enddoc für den Drucker?

Also, ich habe keine Idee.
Habt Ihr eine Vorschlag?

Gruß
Mattze
Hallo,

ohne Drucker kann man i.A. überhaupt keine Seitenzahl berechnen, weil man ja das Seitenformat nicht kennt. Wenn du meinst für A4, dann musst du einen Drucker mit A4-Papier angeben. Wie Microsoft demonstriert, gibt es auch dann noch Abweichungen. Das einzig sichere ist daher der tatsächlich verwendete Drucker.

Gruss Reinhard
  Mit Zitat antworten Zitat
Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#3

Re: Druckseitenanzahl eines Richedit?

  Alt 1. Jan 2009, 10:28
Hallo Reinhard,

ja und Nein, also Jein!
Selbstverständlich ist der Drucker an dieser Stelle (kurz (!!!) vor dem Druck) schon bekannt!
Sonst kannst Du auch mit Richedit.print nicht ordentlich drucken, weil es nicht möglich ist, ordentlich zu formatieren. (Schau Dir mal richedit.print an, wenn Du die Quellen hast.)

Das Problem ist eben "nur", dass die ordentliche Formatierung (Umbruch und auch Seitenränder usw.) sowohl vom Drucker als auch von der eingelegten Papiergröße (und noch von viel mehr) abhängt.
Man kann die Seitenzahl also nicht fest vorher berechnen. (A4 hat 64 Zeilen usw....)
Erst, wenn alle Angaben zum Drucker usw. bekannt sind, geht das überhaupt richtig.

Die Frage lautet(te9.
Wie kann ich dann, wenn alle Angaben bekannt sind (!!!), die Seitenanzahl bei korrekter Formatierung des Richedit für eine Druckerseite (SendMessage(richedit.Handle, EM_FORMATRANGE, 1, Longint(@Range))) berechnen?
(Nach meinen Versuchen muss ich sagen, dass das evtl. gar nicht geht. Leider!)

Gruß und schönes neues Jahr
Mattze
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#4

Re: Druckseitenanzahl eines Richedit?

  Alt 1. Jan 2009, 10:56
Hallo Mattze,

auch Dir ein frohes neues Jahr. Schaue Dir doch mal dieses Beispiel von den Schweizern an. Vielleicht kannst Du damit etwas anfangen.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von Lannes
Lannes

Registriert seit: 30. Jan 2005
Ort: Münster
745 Beiträge
 
Delphi 3 Professional
 
#5

Re: Druckseitenanzahl eines Richedit?

  Alt 1. Jan 2009, 11:21
Hallo,

und das, im Detail in Flockes Garage:
RichEdit: Breite und Höhe des Inhalts bestimmen
RichEdit: Variable Druckfunktion
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
  Mit Zitat antworten Zitat
Reinhard Kern

Registriert seit: 22. Okt 2006
772 Beiträge
 
#6

Re: Druckseitenanzahl eines Richedit?

  Alt 1. Jan 2009, 13:51
Zitat von Mattze:
...
Wie kann ich dann, wenn alle Angaben bekannt sind (!!!), die Seitenanzahl bei korrekter Formatierung des Richedit für eine Druckerseite (SendMessage(richedit.Handle, EM_FORMATRANGE, 1, Longint(@Range))) berechnen?
(Nach meinen Versuchen muss ich sagen, dass das evtl. gar nicht geht. Leider!)
Hallo Matze,

ganz streng genommen hast du damit wahrscheinlich recht: eine eingebettete EPS-Grafik mit Seitenvorschub drin (ist natürlich kein guter Stil) wird sich nicht analysieren lassen. Und bei einem eingebetteten Word-Doc brauchst du ein laufendes Word.

Gesucht wird eine perfekte Druckvorschau - das ist eigenmtlich bloss eine andere Formulierung des Problems. Ich denke am besten,zumindest für nicht-exotische Fälle, geht noch das Anlegen eines zum Drucker kompatiblen DCs und das Rendern der kompletten Ausgabe in diesen DC (heisst hier meistens Canvas). Schau mal nach CreateCompatibleDC.

Gruss Reinhard
  Mit Zitat antworten Zitat
Mattze

Registriert seit: 6. Jan 2005
664 Beiträge
 
#7

Re: Druckseitenanzahl eines Richedit?

  Alt 1. Jan 2009, 17:10
Hallo,

vielen Dank für den Tipp mit den Schweizern. Das ist genau das, was ich suchte.

Ärgerlich, dass ich das schon lange habe!!! Eben, weil ich dachte, das könnte usw.
Irgendwie habe ich da wohl nicht richtig reingeguckt.

Flocke's Garage ist auch interessant. Ist zwar noch wenig, sieht aber gar nicht schlecht aus!

Tschau
Mattze
  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 22:42 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