SumatraViewer problema con escalado pantalla a 125%

Foro de Xailer profesional en español
Responder
CapelSoft
Mensajes: 135
Registrado: Vie Jul 29, 2005 8:49 am
Ubicación: Valencia - España
Contactar:

SumatraViewer problema con escalado pantalla a 125%

Mensaje por CapelSoft »

Hola,

Os adjunto un ejemplo donde se puede apreciar el problema.

Situación: pantalla con escalado distinto a 100% y método ::maximize() en el oncreate() del formulario.
Resultado: el visualizador Sumatra no 'escala' el pdf y se ve más grande de lo que cabe en pantalla, y no aparecen las scrollbar para mover el pdf.

Saludos,
Adjuntos
sumatra.zip
Ejemplo problema.
(2.83 KiB) Descargado 113 veces
--
José Luis Capel
http://www.CapelBlog.es
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9257
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

Re: SumatraViewer problema con escalado pantalla a 125%

Mensaje por ignacio »

Buenas tardes,

Me temo que no consigo reproducirlo. Lo siento. Aquí parece funcionar sin problemas. Adjunto vídeo.

En cualquier caso, el visor de PDF's es simplemente un conector con SumatraPDF. No puede pretender que tenga una integración tan completa como cualquier otro control de Xailer,

Un saludo
Adjuntos
capel.zip
(399.84 KiB) Descargado 114 veces
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
https://www.xailer.com
CapelSoft
Mensajes: 135
Registrado: Vie Jul 29, 2005 8:49 am
Ubicación: Valencia - España
Contactar:

Re: SumatraViewer problema con escalado pantalla a 125%

Mensaje por CapelSoft »

Hola,

El problema persiste. Pero gracias a compañeros de Xailer pude hacer un triquiñuela para hacerlo funcionar. Puse un timer para que hiciera el :Maximize() del formulario unos milisegundos después.

Saludos,
--
José Luis Capel
http://www.CapelBlog.es
Avatar de Usuario
jfgimenez
Site Admin
Mensajes: 5707
Registrado: Lun Abr 06, 2015 8:48 pm
Contactar:

Re: SumatraViewer problema con escalado pantalla a 125%

Mensaje por jfgimenez »

José Luis,

como ya te comenté, el problema está causado por SumatraPdf, que no detecta correctamente el escalado de pantalla cuando se muestra dentro de otro formulario. Y efectívamente, la única solución consiste en esperar a que se muestre y reajustar su posición después. No obstante, en vez de esperar unos ms sin más, yo me aseguraría de que SumatraPdf ya está visible, porque si no, corres el riesgo de que en un ordenador más lento sigas teniendo el problema.

Puedes comprobarlo con algo así:

Código: Seleccionar todo

WHILE Empty( GetWindow( ::oSumatraViewer1:handle, GW_CHILD ) )
   ProcessMessages( 50 )
ENDDO
José F. Giménez
[Equipo de Xailer / Xailer team]
http://www.xailer.com
http://www.xailer.info
Responder