Problema de refresco en ventana principal
Posted: 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
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