Einzelnen Beitrag anzeigen

youuu

Registriert seit: 2. Sep 2008
Ort: Kleve
822 Beiträge
 
Delphi 2010 Professional
 
#1

VST ausdrucken

  Alt 30. Mär 2011, 11:28
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 :/
Steven
  Mit Zitat antworten Zitat