vor gut zwei Jahren hatte ich das Problem einem Etikettendrucker beliebige Papierformate unterzuschieben ohne daß der Benutzer Einstellungen ändern muß.
Mir half damals dieser Thread:
http://www.delphipraxis.net/internal...t=papierformat
...dummerweise ist der betreffender Rechner nun abgeraucht
und mit ihm die lezten Versionen der Quelltexte
meine (siehe oben) Lösung war:
Delphi-Quellcode:
uses [....], printers, winspool;
procedure tEditLager.Papierformat;
var
Device, Driver, Port: array[0..80] of Char;
DevMode: THandle;
pDevmode: PDeviceMode;
begin
Printer.GetPrinter(Device, Driver, Port, DevMode);
Printer.SetPrinter(Device, Driver, Port, 0) ;
Printer.GetPrinter(Device, Driver, Port, DevMode);
If Devmode <> 0 Then Begin
pDevMode := GlobalLock( Devmode );
If pDevmode <> Nil Then
try
With pDevmode^ Do Begin
{ dmPapersize := DMPAPER_A4;
dmFields := dmFields or DM_PAPERSIZE; }
dmPapersize := DMPAPER_USER;
dmPaperLength := 140;
dmPaperwidth := 800;
dmFields := dmFields or DM_PaperSize or DM_PAPERLength or dm_paperWidth;
End;
finally
GlobalUnlock( Devmode );
end;
End; { If }
end;
ich habe das jetzt wieder eingebaut; bloß es funktioniert nicht...
hat jemand eine Idee ?
(D5 prof. unter
Win32)