Problema de refresco en ventana principal

Problema de refresco en ventana principal

Postby jmartial » Tue May 23, 2006 8:24 am

Hola,


En la ventana principal de la aplicación, ponemos un Bitmap y un Say, la ventana la definimos así:

DEFINE WINDOW oWnd MDI FROM 1,5 TO 20,75 MENU CreaMnu(aMenu) ;
TITLE "Titulo" ICON oIcon;
COLOR CLR_BLACK,CLR_WHITE

Y para que cuando abramos un diálogo modal, no se nos borre ni el say ni el bitmap ponemos lo siguiente:

oWnd:bPainted := {||If(oSayTitWnd<>nil,(BmpCenter( oBmp ,oWnd),;
oSayTitWnd:refresh(.T.) ),nil) }


En 16b iba perfecto, al salir de un diálogo modal lo repintaba todo, pero en 32b repinta perfectamente el bitmap pero el say lo deja borrado en la parte que lo haya cubierto el diálogo hasta que cambiemos de pantalla o hagamos algo con el ratón que lo provoque. Una solución provisional sería un timer, pero lo veo poco elegante.

Un Saludo,
Joaquín
jmartial
 
Posts: 458
Joined: Tue Mar 14, 2006 7:26 pm

Postby Antonio Linares » Thu May 25, 2006 8:06 am

Joaquín,

Prueba a llamar a SysRefresh() despues de llamar a BmpCenter().
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42127
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby jmartial » Thu May 25, 2006 10:28 am

Antonio,

Lo he probado de todas las maneras posibles, incluso sin el bitmap, sólo pintando un say, y te explico lo que ocurre.

Si uso en bPainted := { || oSay:Refresh() } no refresca bien el say, otros controles como un bitmap sí.

Y Si destruyo el oSay y luego lo vuelvo a crear en el evento bPainted, sí funciona bien, lo único que lo veo una sobrecarga el destruir y crear el oSay cada vez que se repinte la pantalla.

Si hubiese otra solución al refresh de un say en una ventana sería lo ideal.



Un Saludo,
Joaquín
jmartial
 
Posts: 458
Joined: Tue Mar 14, 2006 7:26 pm

Postby Antonio Linares » Thu May 25, 2006 11:33 am

Joaquín,

Debe tratarse de una diferencia de proceso de mensajes entre 16 y 32 bits. Windows es muy compatible entre 16 y 32, pero existen pequeñas diferencias.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 42127
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 93 guests