![]() |
Drucken mit Dialog
:shock: In der ganzen Code-Library keinen Beitrag der Beschreibt wie man einen Text mit einem PrinterDialog ausdrucken kann. Könnte mir jmd. dazu ein bisschen Code posten? Wäre echt nett. Mfg Tobi
|
Re: Drucken mit Dialog
Hallo Tobi,
der PrinterDialog druckt nicht - das musst schon du machen. Mit dem Dialog gibst du dem Benutzer deines Programms die Möglichkeit einen Drucker und diverse Optionen zu wählen. Was genau willst du drucken? Hast du ein fertiges Dokument oder wird das zu druckende Dokument dynamisch erzeugt? Grüße vom marabu |
Re: Drucken mit Dialog
Ich hab ein memo mit text das Raus mut. Klar das der Dialog nur zur auswahl ist war glaub nur ein bisschen falsch formuliert. Aber ich habe keine Ahnung wie ich das anstellen soll.
Mfg Tobi |
Re: Drucken mit Dialog
Hi,
ist garnicht so verwunderlich, denn mit dem Dialog direkt kannst du natürlich nicht drucken. Der dient halt nur der Auswahl des Druckers. Das eigentliche Drucken findet über die Ausgabe auf einem Printcanvas statt. Der verhält sich genauso, wie ein normaler Canvas, ausser dass die Ausgabe natürlich gedruckt wird. Ein einfaches Beispiel wie du mit Dialog und Canvas arbeitest findest du in der Delphi Hilfe
Delphi-Quellcode:
Gruß Der Unwissende
procedure TForm1.Button1Click(Sender:TObject);
var I, Start, Stop: Integer; begin PrintDialog1.Options := [poPageNums, poSelection]; PrintDialog1.FromPage := 1; PrintDialog1.MinPage := 1; PrintDialog1.ToPage := PageControl1.PageCount; PrintDialog1.MaxPage := PageControl1.PageCount; if PrintDialog1.Execute then begin { Ausgewählten Druckbereich ermitteln } with PrintDialog1 do begin if PrintRange = prAllPages then begin Start := MinPage - 1; Stop := MaxPage - 1; end else if PrintRange = prSelection then begin Start := PageControl1.ActivePage.PageIndex; Stop := Start; end else { PrintRange = prPageNums } begin Start := FromPage - 1; Stop := ToPage - 1; end; end; { Jetzt die Seiten drucken } with Printer do begin BeginDoc; for I := Start to Stop do begin PageControl1.Pages[I].PaintTo(Handle, 10, 10); if I <> Stop then NewPage; end; EndDoc; end; end; end; [Edit]Ok, dass mit der Auswahl kam jetzt auch schon von dir, sorry für die Redundanz[/Edit] |
Re: Drucken mit Dialog
Zitat:
Mfg Tobi |
Re: Drucken mit Dialog
Delphi-Quellcode:
Das Drucken geht aber wie bau ich den Dialog ein?
procedure TForm3.Button1Click(Sender: TObject);
var r: TRect; i: Integer; begin with Printer do begin r := Rect(200,200,(Pagewidth - 200),(PageHeight - 200)); BeginDoc; for i := 0 to Memo1.Lines.Count do Canvas.TextOut(200,200 + (i * Canvas.TextHeight(Memo1.Lines.Strings[i])), Memo1.Lines.Strings[i]); Canvas.Brush.Color := clBlack; Canvas.FrameRect(r); EndDoc; end; end; Mfg Tobi |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:04 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz