Page 1 of 1

Say no sale transparente en TFolderEx

PostPosted: Wed Sep 01, 2010 9:18 pm
by AIDA
Hola

Les comento que los Say no salen transparentes en los nuevos y bonitos folders TFolderEx

Image

para poder que se transparentaran se hizo lo siguiente..
Code: Select all  Expand view

oApp:oSay := array(6)

@ 2,1  SAY oApp:osay[1] PROMPT "NOMBRE :"              OF oFldd:aDialogs[ 1 ]  TRANSPARENT  

@ 2,12 say oApp:OGETN var oApp:GETNOM               OF oFldd:aDialogs[ 1 ] size 350,18 BORDER COLOR nRgb(0,0,0  ),nRgb( 253,253,253)

@ 2,73 SAY oApp:osay[2] PROMPT "TELEFONOS :"           OF oFldd:aDialogs[ 1 ]  TRANSPARENT  

@ 2,87 say oApp:oGETT  var oApp:gett                OF oFldd:aDialogs[ 1 ] size 100,18 BORDER COLOR nRgb(0,0,0  ),nRgb( 240, 250, 255) //SHADOW

@ 2,107 say oApp:oGETT2 var oApp:GETT2              OF oFldd:aDialogs[ 1 ] size 100,18 BORDER COLOR nRgb(0,0,0  ),nRgb( 240, 250, 255) //SHADOW

@ 5,01 SAY oApp:osay[3] PROMPT "DIRECCION :"           OF oFldd:aDialogs[ 1 ]  TRANSPARENT //COLOR CLR_WHITE, nRGB(0,0,0)

@ 5,12 say oApp:oGETDIREC var oApp:GETDIREC         OF oFldd:aDialogs[ 1 ] size 442,18 BORDER COLOR nRgb(0,0,0  ),nRgb( 240, 250, 255)


@ 5,89 SAY oApp:osay[4] PROMPT "CIUDAD :"              OF oFldd:aDialogs[ 1 ]  TRANSPARENT //COLOR CLR_WHITE, nRGB(0,0,0)

@ 5,98 say oApp:oGETCIU var oApp:gETCIU             OF oFldd:aDialogs[ 1 ] size 156,18 BORDER COLOR nRgb(0,0,0  ),nRgb( 240, 250, 255)

@ 8,01 SAY oApp:osay[5] PROMPT "CORREO ELECTRONICO :"  OF oFldd:aDialogs[ 1 ]  TRANSPARENT //COLOR CLR_WHITE, nRGB(0,0,0)
@ 8,25 say oApp:aEmail var oApp:cEmail              OF oFldd:aDialogs[ 1 ] size 256,18 BORDER COLOR nRgb(0,0,0  ),nRgb( 240, 250, 255)

@ 10,01 SAY oApp:osay[6] PROMPT "PAGINA INTERNET :"    OF oFldd:aDialogs[ 1 ]  TRANSPARENT //COLOR CLR_WHITE, nRGB(0,0,0)

@ 10,25 say oApp:aPagina var oApp:cPagina           OF oFldd:aDialogs[ 1 ] size 256,18 BORDER COLOR nRgb(0,0,0  ),nRgb( 240, 250, 255)

oFldd:aDialogs[ 1 ]:SetBrush( oBrush1 )
AEVAL( oApp:oSay, {|o| o:setbrush( oBrush1 )} )

 



a si queda ya transparente

Image


Gracias a William Morales por su ayuda :D

Saluditos :wink:

Re: Say no sale transparente en TFolderEx

PostPosted: Thu Sep 02, 2010 5:01 am
by wmormar
AIDA,

Es un placer.

Y esperemos a Daniel corrija este comportamiento para no tener necesidad de colocarle el BRUSH, sino que lo haga directo.

Re: Say no sale transparente en TFolderEx

PostPosted: Thu Sep 02, 2010 10:46 am
by Daniel Garcia-Gil
AIDA, William

El comportamiento es el esperado, explico porque...

Los controles hijos se hacen transparentes por el brush del padre, esa es la tecnica de la transparencia de un control (la mas simple)

Ahora bien, si cambiamos el brush del padre y queremos que los controles hijos sigan siendo transparantes, debemos cambiarles el brush a ellos de igual manera, fivewin no hace eso automaticamente, pues habria que comprobar si el control hijo es transparente o determinar si usa el mismo brush del padre, como veras es un proceso que solo lo conoce previamente el programador y por eso es innesesario que fivewin lo controle internamente con varias validaciones para asignar un brush (para que perder nuestras milesimas de segundo?) y es muy simple usar un AEVAL para asignar el nuevo brush sin hacer validaciones de ningun tipo (una sola linea de codigo vs varias de validacion internas)

Como es el caso expuesto por Aida,
Esta cambiando el brush despues de crear los controles hijos y por logica la transparecia se creara con el brush anterior que tenia el padre, por eso la transparencia del control esta de otro "color" pues era otro brush, para cambiarlo, es correcto el proceso que hizo y es lo que debe hacerse (para la muestra, dio resultado), para no usar el AEVAL en este caso (simple asignacion de brush y no cambio dinamico del mismo) que asigne el brush ANTES de crear los controles hijos