AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein TPrinter: Portrait auf Landscape umzuschalten
Thema durchsuchen
Ansicht
Themen-Optionen

TPrinter: Portrait auf Landscape umzuschalten

Ein Thema von tomkupitz · begonnen am 29. Jun 2019 · letzter Beitrag vom 14. Nov 2021
Antwort Antwort
Seite 2 von 2     12   
tomkupitz

Registriert seit: 26. Jan 2011
355 Beiträge
 
Delphi 12 Athens
 
#1

AW: TPrinter: Portrait auf Landscape umzuschalten

  Alt 1. Jul 2019, 10:25
vcl.printer.pas ist natürlich eine Kopie im lokalen Projektverzeichnis. Originale Units ändere ich nie.

Aber die Probleme mit der vcl.printer.pas-Kopie sind so einfach nicht lösbar.

Peter: Ich werde mir mal dein Beispiel ansehen.

Danke an alle und beste Grüße
  Mit Zitat antworten Zitat
einbeliebigername

Registriert seit: 24. Aug 2004
140 Beiträge
 
Delphi XE8 Professional
 
#2

AW: TPrinter: Portrait auf Landscape umzuschalten

  Alt 1. Jul 2019, 13:14
Hallo,

Ich habe es geschafft noch mal in meine alten Sourcen zu schauen. Tatsächlich habe ich damals nicht nur die kopierte (Vcl.)Printer.pas anders benannt, sonder auch die Klassen, Typen und Konstanten umbenannt. Eigentlich sieht mir das jetzt mehr wie nachprogrammiert (was ich heute nicht mehr machen würde) aus.
Wenn man auf das TPrinter. PageNumber verzichten kann, ist Peter’s Variante mitunter einfacher. Es kommt auf die Umgebung an.
Ich bin jetzt noch auf eine Idee gekommen um das Problem mit abhängigen Units zu umgehen.

Delphi-Quellcode:
unit Vcl.Printers.Help;

interface

uses
  System.Classes;

var
  OnPrinterBetweenPage: TNotifyEvent;

implementation

end.
Delphi-Quellcode:
unit Vcl.Printers;
...
implementation

uses
...
  Vcl.Consts,
  Vcl.Printers.Help;
...
procedure TPrinter.NewPage;
begin
  CheckPrinting(True);
  EndPage(DC);
  if Assigned(OnPrinterBetweenPage) then
    OnPrinterBetweenPage(self);
  StartPage(DC);
  Inc(FPageNumber);
  Canvas.Refresh;
end;
Damit bleibt der Interface-Abschnitt von Vcl.Printers unverändert. Man würde dann vor dem Drucken dem OnPrinterBetweenPage eine Methode zuweisen und in dieser wenn nötig das Umschalten der Ausrichtung erledigen.

einbeliebigername.
Mit freundlichen Grüßen, einbeliebigername.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:22 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz