Einzelnen Beitrag anzeigen

guitar1

Registriert seit: 9. Sep 2006
65 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: nach dem Drucken alles spiegelverkehrt ????

  Alt 17. Sep 2007, 13:51
hi

@bitsetter:
erstmal danke für den Link, ich habe alles so gemacht, wie es dort beschrieben war, also die function zu einer procedure mit const parameter gemacht, ich habe auch das .Free nicht vergessen, und auch die Anzeige funktioniert einwandfrei, aber der Speicher wird nicht freigegeben?!?!

Hier mal ein bisschen Code:
Delphi-Quellcode:
//Zum Drucken:
  if PrintDialog1.Execute then
  begin
    Printer.Title:= CboxFormularart.Text+' '+LabNr.Caption;
    Printer.BeginDoc;
      SetMapMode(Printer.Canvas.Handle, MM_ANISOTROPIC);
      x:= GetDeviceCaps(Printer.Canvas.Handle, PHYSICALWIDTH);
      y:= GetDeviceCaps(Printer.Canvas.Handle, PHYSICALHEIGHT);
      SetWindowExtEx(Printer.Canvas.Handle,x,y,Nil);
      SetViewportExtEx(Printer.Canvas.Handle,x,y,Nil);

      DrCanvas := TImage.Create(self);
      FormDruckansicht.DruckCanvas(DrCanvas,x,y);
      Printer.Canvas.Draw(0-GetDeviceCaps(Printer.Canvas.Handle, PHYSICALOFFSETX),
        0-GetDeviceCaps(Printer.Canvas.Handle, PHYSICALOFFSETY),
        DrCanvas.Picture.Graphic);
      DrCanvas.Free;

    Printer.EndDoc;
  end;

//Als Druckvorschau:
DrCanvas := TImage.Create(self);
      try
        DruckCanvas(DrCanvas ,width, height);
        Image1.Canvas.Draw(0,0, DrCanvas.Picture.Graphic);
      finally
        DrCanvas.Free;
      end;
http://www.myspace.com/metalinc1
http://andi1007.funpic.de
Thomann Cyberstore mein Tipp für alle die etwas für den Musikgebrauch brauchen =)
  Mit Zitat antworten Zitat