Drucken mit ProgressBar
-
Hallo,
ich bin noch Anfänger und wollte gerne mal was wissen:Ich möchte ein Dokument ausdrucken und dabei eine ProgressBar unten in der StatusBar haben. Die ProgressBar soll mir anzeigen, wann das Dokument ausgedruckt ist.
Folgendes habe ich schon erledigt:
ProgressBar erscheint in der StatusBar. Das Dokument wird ausgedruckt.Wie kann mir jetzt die ProgressBar genau anzeigen, wann das Dokument fertig ausgedruckt wurde?
Ich hoffe ihr könnt mir helfen!
Lg,
drummi
-
Wie druckst du denn was genau aus?
-
ich drucke eine Textdatei aus (.txt, .rtf, etc.)
try { if (PrintDialog1->Execute ()) { RichEdit1->Print (""); } StatusBar1->Visible=true; ProgressBar1->Visible=true; ProgressBar1->Position=0; ProgressBar1->Parent=StatusBar1; ProgressBar1->Top=2; ProgressBar1->Left=2;
-
Damit geht das direkt nicht da du hier keine Möglichkeit hast eine Callbackfunktion unterzubringen.
Hier
http://msdn.microsoft.com/en-us/library/bb787875.aspx
kannst du dir mal anschauen, wie das intern abläuft. Wenn du das nachprogrammierst kannst du dort ja noch eine Aktualisierung für deinen Laufbalken unterbringen.
Wenn du den Druckerspooler abfragen willst hilft evtl. auch das hier.
http://entwickler-forum.de/archive/index.php/t-24808.html
Ist zwar Delphi, sollte aber umsetzbar sein.
-
danke schon mal für deine antwort.
Kannst du mir vielleicht auch noch sagen, wie ich es programmieren kann, dass der Drucker beim Ausdruck automatisch einen Rand von ca. 3 cm (o.a.) lässt?
-
Auf Anhieb kann ich dir das nicht sagen, da ich TRichEdit selber nicht verwende. Evtl. könnte dir hier TRichEdit::PageRect helfen.
-
ok, danke. vielleicht kann mir ja ein anderer helfen. was benutzt du denn, wenn ich fragen darf?
-
Entweder bastle ich mir die Texte auf einem canvas selber zusammen (TPaintBox) oder ich verwende TRichView.
http://www.trichview.com/
-