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
Cambiar resolución en vista previa?
Cambiar resolución en vista previa?
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
[email protected]
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
- Antonio Linares
- Site Admin
- Posts: 44515
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: Cambiar resolución en vista previa?
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.
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.
Re: Cambiar resolución en vista previa?
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
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
[email protected]
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
- Antonio Linares
- Site Admin
- Posts: 44515
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: Cambiar resolución en vista previa?
Estimado Armando,
Modifica este método en source\classes\rpreview.prg. Aqui parece funcionar bien. Aguardo tus resultados:
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