Ver Mensaje Individual
  #2  
Antiguo 31-05-2004
Ivan JR Ivan JR is offline
Registrado
 
Registrado: may 2004
Posts: 9
Reputación: 0
Ivan JR Va por buen camino
Pues en mi caso casí nunca cambiamos los tamaños de los reportes.. pues siempre se tienen un tamaña especifico para cada reporte.. pero tal vez te sirva esta pequeña rutina donde se configuran ciertas propiedades la impresora default, podrías poner una pantalla antes de llamar tu reporte donde selecciones el tamaño de papel o variarlo en base a alguna variable que indique a que tipo de papel va ese reporte.

With Printer do
Begin
Printer.GetPrinter(ADevice,ADriver,APort,DeviceHandle);

if DeviceHandle <> 0 Then
Begin
DevMode := GlobalLock(DeviceHandle);
//GlobalUnlock(DeviceHandle);
end;
with DevMode^ do
begin
dmFields := dmFields or DM_PAPERWIDTH;
//dmPaperSize := DMPAPER_LETTER;
//dmPaperWidth := 1500;
dmPaperWidth := 1500;
dmPaperLength := 1500;
dmPaperSize := DMPAPER_USER;
dmFields := dmFields or DM_PAPERSIZE or DM_PAPERLENGTH or DM_PAPERWIDTH;

end;
GlobalUnlock(DeviceHandle);
Printer.SetPrinter(ADevice, ADriver, APort, DeviceHandle);

end;
Responder Con Cita