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
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
Comment