Cambiar resolución en vista previa?

Post Reply
User avatar
Armando
Posts: 3382
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Contact:

Cambiar resolución en vista previa?

Post by Armando »

Amigos del foro:

Estando en la vista previa de un reporte creado con la impresora por default, al cambiar
de impresora tomada de la lista de impresoras en la vista previa, ¿es posible cambiar
la vista previa para ajustarla a la resolución de la impresora elegida?, en mis caso no
sucede.

Espero haberme explicado bien.

Saludos
SOI, s.a. de c.v.
[email protected]
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Antonio Linares
Site Admin
Posts: 44515
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Cambiar resolución en vista previa?

Post by Antonio Linares »

Estimdo Armando,

la vista previa no se re-ajusta en tiempo de ejecución al cambiar de impresora dentro de la misma ventana; necesitas cerrarla y volver a abrirla después de haber establecido la impresora correcta y limpiado los datos del reporte.

En Visual FoxPro, la vista previa que se muestra al abrir un reporte no se ajusta automáticamente a la resolución o características de la impresora que luego selecciones en la barra de herramientas de “Vista previa”.

El motor genera la pre-visualización con la configuración de la impresora que estaba activa en el momento en que se ejecutó el … PREVIEW. Si, estando ya en la ventana de vista previa, eliges otra impresora en la lista desplegable, el reporte sigue dibujado con los parámetros de la impresora original (tamaño de papel, orientación, resolución, márgenes, etc.), por eso el aspecto ya no coincide exactamente con lo que luego enviarías a la nueva impresora.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Armando
Posts: 3382
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México
Contact:

Re: Cambiar resolución en vista previa?

Post by Armando »

Maestro:

Efectivamente, así es como funciona, y, ¿no es posible tener esa mejora en el TO DO?, me parece
que WORD así lo hace, por eso creo que la mejora es posible, pero ustedes son los expertos.

Un abrazo
SOI, s.a. de c.v.
[email protected]
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
User avatar
Antonio Linares
Site Admin
Posts: 44515
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Cambiar resolución en vista previa?

Post by Antonio Linares »

Estimado Armando,

Modifica este método en source\classes\rpreview.prg. Aqui parece funcionar bien. Aguardo tus resultados:

Code: Select all | Expand

METHOD SelPrinter( cPrinter ) CLASS TPreview

   local cOldPrinter := GetProfString( "windows", "device" , "" )  
  
   WriteProfString( "windows", "device", cPrinter )  
   SysRefresh()  
   PrinterInit()  
  
   DeleteDC( ::oDevice:hDC )  
  
   ::oDevice:hDC    = GetPrintDefault( GetActiveWindow() )  
   ::oDevice:cModel = cPrinter  
  
   // Add this: Rebuild the printer device  
   ::oDevice:Rebuild()  
     
   // Add this: Regenerate the preview content  
   if ::oReport != nil .and. ::oReport:bInit != nil  
      // If there's a report with initialization block, regenerate it  
      ::oDevice:aMeta := {}  // Clear existing metafiles  
      Eval( ::oReport:bInit, ::oReport )  
   endif  
     
   // Refresh the preview display  
   ::GoPage( 1 )  // Go to first page and refresh display  
  
   SysRefresh()  
   WriteProfString( "windows", "device", cOldPrinter )  
   
RETURN nil
regards, saludos

Antonio Linares
www.fivetechsoft.com
Post Reply