Thema: Delphi Drucken mit Dialog

Einzelnen Beitrag anzeigen

Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#4

Re: Drucken mit Dialog

  Alt 19. Mär 2006, 15:35
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:
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;
Gruß Der Unwissende

[Edit]Ok, dass mit der Auswahl kam jetzt auch schon von dir, sorry für die Redundanz[/Edit]
  Mit Zitat antworten Zitat