FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Cambiar resolución en vista previa?
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Cambiar resolución en vista previa?
Posted: Sun Jul 20, 2025 01:02 AM

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.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Cambiar resolución en vista previa?
Posted: Sun Jul 20, 2025 12:09 PM

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
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Cambiar resolución en vista previa?
Posted: Sun Jul 20, 2025 04:37 PM

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.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 44158
Joined: Thu Oct 06, 2005 05:47 PM
Re: Cambiar resolución en vista previa?
Posted: Mon Jul 21, 2025 07:56 AM
Estimado Armando,

Modifica este método en source\classes\rpreview.prg. Aqui parece funcionar bien. Aguardo tus resultados:
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

Continue the discussion