Page 1 of 1

Error de BRUSH y Transparencia

Posted: Wed Dec 30, 2009 5:30 pm
by RodMG
Hola, Antonio.

He preparado un ejemplo que muestra un mal funcionamiento del BRUSH o del efecto de tranparencia en un diálogo.

El ejemplo presenta un diálogo conteniendo un XBROWSE y dos objetos SAY de tal forma que al desplazarse por las líneas del browse va mostrando en los SAY el nombre (FIRST) y apellido (LAST) del renglon seleccionado. El diálogo tiene un BRUSH de fondo.

Resulta que el fondo del diálogo pierde el BRUSH cuando se activa otra aplicación, de tal forma que al volver al ejemplo en lugar de pintarse el diálogo con el BRUSH de fondo, se pinta trasparente, es decir, se ve la aplicación que está detrás. He adjuntado una imagen (Imagen1.Jpg) que muestra la ventana del ejemplo cuando recién se ejecuta y otra imagen (Imagen2.Jpg) en el que se muestra la ventana después de haber conmutado a otra aplicación. En esta segunda imagen he marcado con líneas color rojo los SAY en los que se puede ver que, además del efecto del BRUSH, la información de los SAY comienza a sobreponerse con el mostrado del registro anterior.

Agradezco tu ayuda.

Code: Select all

#include "FiveWin.ch"
#include "xBrowse.ch"

function Main()

   local oDlg
   local oBrush
   local oBrowse
   local oDbf
   local oSay1
   local oSay2

   USE CUSTOMER
   DATABASE oDbf

   DEFINE BRUSH oBrush FILE '..\BITMAPS\Back.bmp'

   DEFINE DIALOG oDlg SIZE 800,400 TRANSPARENT

   @ 10,10 XBROWSE oBrowse ;
            OF oDlg SIZE 380,150 PIXEL ;
            ALIAS oDbf:cAlias ;
            AUTOCOLS AUTOSORT FOOTERS LINES CELL ;
            ON CHANGE ( oDbf:Load(), oSay1:Refresh(), oSay2:Refresh() )

   oBrowse:CreateFromCode()

   @ 11,05 SAY oSay1 PROMPT "First: " + oDbf:FIRST COLOR CLR_WHITE
   @ 11,20 SAY oSay2 PROMPT "Last: " + oDbf:LAST COLOR CLR_WHITE

   SET BRUSH OF oDlg TO oBrush

   ACTIVATE DIALOG oDlg RESIZE16 ON INIT ( oBrowse:SetFocus, .f. )

return Nil
 
Imagen1

http://yfrog.com/emimagen1lpj


Imagen2

http://yfrog.com/3uimagen2ij



Saludos,


FWH 9.12 + xHarbour (Incluido en FWH 9.12) + Borland 5.5


Saludos,

Rodolfo MG

Re: Error de BRUSH y Transparencia

Posted: Wed Dec 30, 2009 7:05 pm
by Patricio Avalos Aguirre
Hola

Revisando el ejemplo con la version 9.11 no tiene ningun problema,

puede ser la nueva version?

Re: Error de BRUSH y Transparencia

Posted: Wed Dec 30, 2009 7:48 pm
by RodMG
Hola, Patricio.

Yo lo he probado en FWH 9.11 y encuentro el mismo comportamiento. A pesar de que el comportamiento puede observarse conmutando con cualquier aplicación he descubierto que cuando se conmuta con una aplicación que se presenta maximizada puede verse "más pronto".

Como dato adicional puede arrastarse sobre la ventana del ejemplo otra aplicación y se ve claramente como queda distorcionado el fondo de la ventana del ejemplo y no vuelve a repintarse. Este comportamiento se presentó ya anteriormente y había sido solucionado, supongo que requerirá la misma corrección.

Esperemos que Antonio pueda dar pronto con la cura.


Saludos,


Rodolfo MG

Re: Error de BRUSH y Transparencia

Posted: Wed Dec 30, 2009 8:32 pm
by Patricio Avalos Aguirre
Rodolfo:

baja este video

http://www.mediafire.com/?mghz2mmoyke


seria bueno que otros usuarios pudieran dar sus opiniones

Re: Error de BRUSH y Transparencia

Posted: Thu Dec 31, 2009 12:11 am
by RodMG
Hola, Patricio.

Justamente estaba preparando la grabación de un video para mostrarte lo que sucede, sin embargo no se ha presentado nada mal, funciona como muestras en tu video. Lo único que hice de más fue reiniciar mi computadora debido a una actualización que hice (Justamente del Windows Media Player), supongo que eso hizo la diferencia. Imagino que debió ser un tema de recursos de mi computadora.

Agradezco mucho tu ayuda y te interés. De acualquier manera seguire averiguando si es en verdad un tema de recursos del equipo.


Saludos,

Rodolfo MG