TabSheet drucken

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
McReier
Beiträge: 48
Registriert: Sa 17. Aug 2013, 11:35

TabSheet drucken

Beitrag von McReier »

Hallo,
würde gerne in meinem Programm das TabSheet 7 drucken. In diesen Sheet wird eine Grafik dargestellt und Ergebnisse via Panel ausgegeben.
Habe den Printer unter uses und auch das Printer4lazarus hinzugefügt. Im Programm PrintDialog1 mit der Eigenschaft Print Range "prCurrentPage" eingestellt. Der Button ist auf der Seite, die ausgedruckt werden soll. Mein Lazarusbuch hilft mir gerade auch nicht weiter, da wird nur ein Beispiel für ein Memo dargestellt, will ja aber das komplette Sheet. Auch der Link: http://wiki.lazarus.freepascal.org/Using_the_printer lässt mir gerade keinen Lösungsweg erkennen.
Hier mein bisheriger Quelltext:

Code: Alles auswählen

procedure TForm1.Image30Click(Sender: TObject);
begin
 If PrintDialog1.Execute then
   begin
   Printer.BeginDoc;
   PageControl1.ActivePageIndex:=7;
   PaintTo(Printer.Canvas.Handle,200,200);
   Printer.EndDoc;
   end;
end;

Könnt Ihr mir mal wieder helfen? Danke!!

Benutzeravatar
theo
Beiträge: 10467
Registriert: Mo 11. Sep 2006, 19:01

Re: TabSheet drucken

Beitrag von theo »

Das würde ich nicht so angehen.
Drucke das Zeug (Bild und Text) einfach auf den Printer Canvas und nicht via Screenshot des PageControl.
Somit kannst du die Ausgabe auch auf die Papierbreite anpassen bei guter Druckqualität etc.

McReier
Beiträge: 48
Registriert: Sa 17. Aug 2013, 11:35

Re: TabSheet drucken

Beitrag von McReier »

theo hat geschrieben:Das würde ich nicht so angehen.
Drucke das Zeug (Bild und Text) einfach auf den Printer Canvas und nicht via Screenshot des PageControl.
Somit kannst du die Ausgabe auch auf die Papierbreite anpassen bei guter Druckqualität etc.

Hallo zusammen,
habe versucht, den Vorschlag von Theo aufzugreifen aber finde keinen für mich verständlichen Lösungsweg :?
Wie muss der Quelltext mit Printer Canvas aussehen? Kennt jemand ein gutes (leicht verständliches) Tutorial dazu?

Michl
Beiträge: 2505
Registriert: Di 19. Jun 2012, 12:54

Re: TabSheet drucken

Beitrag von Michl »

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection; 

Antworten