Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   VST ausdrucken (https://www.delphipraxis.net/159487-vst-ausdrucken.html)

youuu 30. Mär 2011 11:28

VST ausdrucken
 
Hi,

ich möchte gern ein komplettes VST ausdrucken.

Habe es bislang mit der Methode von Shima probiert.

Delphi-Quellcode:
procedure PaintControlToCanvas(control:TControl; Canvas:TCanvas; x,y:Integer);
var
   dest, src : TRect;
begin
   Assert(Assigned(control));
   Assert(Assigned(canvas));
   if control is TWinControl then
      TWinControl(control).PaintTo(Canvas.Handle, x, y)
   else if control is TGraphicControl then
   begin
      src := control.ClientRect;
      dest := src;
      OffsetRect(dest, x, y);
      Canvas.CopyRect(dest, TGraphicControlCracker(control).Canvas, src);
   end
   else
      Assert(False, 'PaintControlToCanvas: Control-Class not supported');
end;

Aufruf:

Delphi-Quellcode:
  printer.Orientation := poLandscape;
  Printer.BeginDoc;
    SetMapMode(Printer.Canvas.Handle, MM_ISOTROPIC);
    SetWindowExtEx(Printer.Canvas.Handle, 1, 1, nil);
    SetViewportExtEx(Printer.Canvas.Handle, 5, 5, nil); //Zoomfaktor
    //PaintControlToCanvas(MHauptmaske.Auftrag, Printer.Canvas, 50, 50);
   // if checkbox1.Checked = true then
      PaintControlToCanvas(VstKundenListe, Printer.Canvas, 50, 70+VstKundenListe.Height);

   // PaintControlToCanvas(VstKundenListe, Printer.Canvas, 100, 80);
  Printer.EndDoc;
Er druckt nun zwar, allerdings nur das sichtbare VST, das heißt er druckt nicht den kompletten Inhalt aus :/

WM_CLOSE 30. Mär 2011 12:48

AW: VST ausdrucken
 
CopyRect kopiert nur den sichtbaren teil. Das Prob hatte ich auch gerade.

youuu 30. Mär 2011 12:59

AW: VST ausdrucken
 
Wie hast du es gelöst?

youuu 31. Mär 2011 08:25

AW: VST ausdrucken
 
Hatte keiner bislang das Problem?

generic 31. Mär 2011 08:47

AW: VST ausdrucken
 
Lies mal bitte die Forumregeln zum Thema Pushen.

Warum nutzt du nicht die Print-Methode vom VST?

Delphi-Quellcode:
procedure TBaseVirtualTree.Print(Printer: TPrinter; PrintHeader: Boolean);

youuu 31. Mär 2011 08:53

AW: VST ausdrucken
 
Ich glaube mich erinnern zu können, das dass Pushen nur innerhalb von 24 Stunden vorgenommen werden soll.
Habe diese Regel ca. 3 Stunden unterboten, dafür entschuldige ich mich.

Danke werde es ausprobieren.


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:12 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz