Welche Version?
Ab Version >= 4.0 gibt es...
Self.PrinterSettings.ExtendedDuplex
Bei Version < 4.0 kann man die Printers.pas korrigieren...
Printers.pas in das eigene Projektverzeichnis kopieren und nur diese Datei ändern!
Eine neue Datei (PrintersU.pas) anlegen...
Delphi-Quellcode:
unit PrintersU;
interface
var FExtendedDuplex:integer;
implementation
initialization
FExtendedDuplex:=-1;
end.
Kopierte und erweiterte Printers.pas...
Delphi-Quellcode:
:
procedure TPrinter.SetPrinter(ADevice, ADriver, APort: PChar; ADeviceMode: THandle);
:
begin
:
if DeviceMode <> 0 then
begin
DevMode := GlobalLock(DeviceMode);
if FExtendedDuplex >= 0 then
DevMode^.dmDuplex:=FExtendedDuplex;
SetPrinterCapabilities(DevMode.dmFields);
end;
:
:
:
if DeviceMode <> 0 then begin
if FExtendedDuplex >= 0 then
DevMode^.dmDuplex:=FExtendedDuplex;
SetPrinterCapabilities(DevMode^.dmFields);
end;
:
end;
:
Die
Unit PrintersU.pas wird nun in die Uses-Klausel der
Unit aufgenommen, in der der Quickreport gedruckt wird. Vor dem Druck kann dann über FExtendedDuplex der gewünschte Duplexwert in die Druckersteuerung eingeschummelt werden.
Diesen Tipp habe ich mir gerade ausgedacht und er ist so nicht getestet, ich habe damit bis jetzt nur eine PrintToFile-Steuerung realisiert, vielleicht funktioniert es ja auch für die Duplexsteuerung 8)