Page 1 of 1

Colores en TGet

PostPosted: Thu Sep 04, 2014 8:29 am
by jmartial
Hola,

Necesitaría saber o ver un ejemplo si se puede hacer de lo siguiente con la clase TGet:

1) Asignar un color de fondo/texto cuando obtiene el foco, es decir, se edita, y otro cuando no tiene el foco.

2) Asignar un color de fondo/texto cuando está desactivado, es decir, disable.

Un Saludo,
Joaquín Martínez

Re: Colores en TGet

PostPosted: Thu Sep 04, 2014 9:00 am
by Antonio Linares
Joaquin,

1) SetGetColorFocus( CLR_YELLOW ) // en este caso usamos el amarillo para el foco

2) En cuanto a los GETs deshabilitados, lo que puedes hacer es dejar que Windows los muestre tal y como el los dibuja al estar desactivados, ó forzar a que se vean normales:

TGet():lDisColors = .F. // que no se muestren desactivados

No tenemos implementados (que yo recuerde) la opción de que al deshabilitarse puedan tomar un determinado color, pero se podría hacer :-)

Re: Colores en TGet

PostPosted: Thu Sep 04, 2014 10:37 am
by jmartial
Gracias Antonio,

Pero veo algo incompleto.

SetGetColorFocus( CLR_YELLOW ) cambia el background, pero ¿y el color del texto, como se cambia cuando entre en edición?


Un Saludo,
Joaquín Martínez

Re: Colores en TGet

PostPosted: Thu Sep 04, 2014 11:46 am
by Antonio Linares
Joaquín,

Pues nunca antes se había planteado esa necesidad, pero tienes razón puede ser igual de necesario :-)

Si te corre mucha prisa pues lo implementamos

Re: Colores en TGet

PostPosted: Thu Sep 04, 2014 12:10 pm
by jmartial
Gracias Antonio,

La verdad es que estaría muy bien para destacar ciertos datos en una ficha, y además quedaría completa la funcionalidad.

Otra duda que se me olvidó sobre la clase TGet, es si era posible ponerle un borde del color que queramos en modo edición, igual que en Mac o en ciertas
distribuciones de linux. Queda muy claro que TGet tiene el foco, y pide la atención del usuario.


Image

A ver si se ve la imágen de muestra.

Un Saludo,
Joaquín Martínez

Re: Colores en TGet

PostPosted: Fri Sep 05, 2014 6:07 am
by FranciscoA
jmartial wrote:Gracias Antonio,

Pero veo algo incompleto.

SetGetColorFocus( CLR_YELLOW ) cambia el background, pero ¿y el color del texto, como se cambia cuando entre en edición?

Un Saludo,
Joaquín Martínez


Intenta asi:
Code: Select all  Expand view
AEval( oWndChild:aControls,{|o| if(o:ClassName()=="TGET",;
         ( o:bGotFocus  := {|o|o:SetColor( RGB(0,0,0), RGB(252,232,191) )} ,;
           o:bLostFocus := {|o|o:SetColor( CLR_BLACK, CLR_WHITE )} ),) } )
 

Saludos.

Re: Colores en TGet

PostPosted: Fri Sep 05, 2014 7:14 am
by Antonio Linares
Joaquín,

El borde resaltado es una opción que se podría implementar pero no es estandard de Windows asi que lo primero sería ver que opinan los demás usuarios de FWH :-)

Re: Colores en TGet

PostPosted: Fri Sep 05, 2014 8:51 am
by elvira
Muy bonito lo del efecto Mac ++++1

Re: Colores en TGet

PostPosted: Fri Sep 05, 2014 9:25 am
by jmartial
Hola Antonio,

Sé que no es estàndar de windows, pero, me refería a una DATA lBorderGetFocus y nColorBorder, por ejemplo,
que se activara opcionalmente y no rompiera níngún código.

Un saludo,
Joaquín Martínez

Re: Colores en TGet

PostPosted: Fri Sep 05, 2014 12:13 pm
by Antonio Linares
Joaquin,

Voy a mirarlo, no es tan simple porque por ejemplo el borde dibujado por Apple usa un degradado y además transparente creo.

Pero a ver que se puede hacer :-)