Einzelnen Beitrag anzeigen

aiguille

Registriert seit: 18. Jun 2005
Ort: Buchholz
11 Beiträge
 
Delphi 5 Standard
 
#1

Drucker druckt Druckerdialog mit

  Alt 19. Jun 2005, 15:01
Hallo,
und erstmal moin,moin, bin neu hier. Hab früher in Pascal geschrieben und hab ziemlich Probleme mit den Prinzipien von Delphi. Aktuell versuche ich seit Wochen, ein Canvas auszudrucken, wobei das Bild zur Laufzeit erzeugt wurde.
Wenn ich nun das Canvas ausdrucken will (Quelltext unten) dann druckt der mir den Druckerdialog gleich mit aus. Schiebe ich den Dialog zur Seite, entsteht an der Stelle, wo der Dialog war, ein blinder Fleck auf dem Bildschirm, und der Drucker macht daraus ein graues Rechteck. Wäre froh über ne auch für einen newbie verständliche Lösung Danke + Gruss Ekbert-Joachim (EJ)


Delphi-Quellcode:
procedure TForm1.ToolButton15Click(Sender: TObject);
var
SrcRect:Trect;Targetrect:Trect;
printWidth,PrintHeight:integer;

begin
  if PrintDialog1.Execute then
  begin
        printer.BeginDoc;
             SrcRect:=Rect(0,0,Paintbox1.Width,Paintbox1.Height);
             PrintWidth := MulDiv(Paintbox1.Width,printer.PageHeight,Paintbox1.Height);
               if PrintWidth < printer.PageWidth then
               PrintHeight := printer.PageHeight
             else begin
               PrintWidth := printer.PageWidth;
               PrintHeight := MulDiv(Paintbox1.Height,printer.PageWidth,Paintbox1.Width)
                  end;

             TargetRect := Rect (0,0,PrintWidth,PrintHeight);

             // Kopiert den Inhalt des PaintBox1.Canvas in das Printer1.Canvas
            
printer.canvas.CopyRect(TargetRect,Paintbox1.Canvas,SrcRect);
        printer.EndDoc;
  end;
end;
[edit=alcaeus]Delphi-Tags eingefuegt. Bitte in Zukunft selbst machen. Danke Mfg, alcaeus[/edit]
  Mit Zitat antworten Zitat