Announcement

Collapse
No announcement yet.

Printer()->Canvas vor BeginDoc?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Printer()->Canvas vor BeginDoc?

    Hallo!<br><br>
    Ich möchte in meinem Programm vor dem Ausdruck diverse Prüfungen vornehmen, u.a. ob bestimmte Texte noch auf die Seite passen. Die Prüfung erfolgt dabei wie folgt (stark vereinfacht!):<br>
    <br>
    TPrinter *P=Printer();<br>
    ...<br>
    if (P->Canvas->TextWidth(Edit3->Text)>wert) ...<br>
    <br>
    Da jedoch u.U. der Ausdruck abgebrochen werden soll, wenn es nicht mehr passt, erfolgt die Prüfung <b>vor</b> BeginDoc. Im allgemeinen funktioniert dies ganz gut, nur beim ersten Druck ist P->Canvas offensichtlich noch nicht initialisiert.<br><br>
    Wie kann ich es so hinbekommen, daß mir das Canvas auch beim ersten Druck zur Verfügung steht? Oder wie kann man diese Prüfung anders gestalten?<br><br>
    Die Lösung mit "P->BeginDoc();P->Abort();" kenne ich schon - diese hat nur den Haken, daß "virtuelle" Drucker wie beispielsweise der Adobe PDFWriter trotzdem mit dem "Speichern unter"-Dialog ankommen...<br><br>
    <b>Hilfe!</b> ;-)<br><br>
    Vielen Dank schon im voraus<br>
    Mathias

  • #2
    Es scheint jetzt korrekt zu funktionieren - aber ich habe keine Ahnung, warum...

    Viele Grüße
    Mathia

    Comment

    Working...
    X