Einzelnen Beitrag anzeigen

Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#3

Re: Probleme mit Druckeransteuerung

  Alt 14. Dez 2005, 12:16
Aber noch ganz kurz zum Prinzip zum Drucken.
Am einfachsten machst du es dir, wenn du eine Methode erzeugst, die für die eigentliche Ausgabe zuständig ist (also was genau angezeigt werden soll). Die bekommt als Argument halt einen TCanvas und zeichnet dort etwas rauf.
Delphi-Quellcode:
procedure printSomething(const Canvas : TCanvas);
begin
  if assigned(Canvas) then
    begin
      // Zeichne irgendwas
    end;
end;
Dann hast du an einer anderen Stelle den Aufruf des Druckerdialogs und der sieht dann so aus
Delphi-Quellcode:
procedure printOnPrinter;
begin
  if self.PrinterDialog1.Execute then
    begin
      Printer.BeginDoc;
      print(Printer.Canvas);
      Printer.EndDoc;
    end;
end;
Vielleicht siehst du hier schon den Vorteil dieser rangehensweise (kenne deine ja nicht), aber du kannst so auch leicht eine Vorschau erstellen. Statt einem PrinterCanvas übergibst du dort dann halt einen Bitmap-Canvas und zeigst das entsprechende Bitmap an.
Bei mir klappt das so jedenfalls mit jedem beliebigen Drucker.

Gruß Der Unwissende
  Mit Zitat antworten Zitat