Page 1 of 1

Cambio dinamico de color en Say (SOLUCIONADO)

PostPosted: Fri Feb 26, 2010 10:42 pm
by MarioG
Hola gente
Tengo definido un SAY con un determinado color, que tiene la clausula UPDATE
Mas adelante, cambio el texto y pretendo cambiar el color haciendo:

oSay:SetText( "nuevo texto )
oSay:SetColor( CLR_HRED )
oSay:Refresh
y mantiene el color inicial
Tambien probe con:
oSay:Hide()
oSay:SetText( "nuevo texto )
oSay:SetColor( CLR_HRED )
oSay:Refresh()
tampoco funciona

Cual es la manera?, si la hay
gracias

USO FWH FWHX 2.7 December 2005 :oops:

Re: Cambio dinamico de color en Say

PostPosted: Fri Feb 26, 2010 10:59 pm
by Daniel Garcia-Gil
Hola Mario


te falta el segundo parametro del setcolor( nClrText, nClrBack ), si quieres mantener el mismo "fondo" has lo siguiente

oSay:SetColor( CLR_RED, oSay:nClrPane )

aprovecho la oprtunidad para decirte que fivetech tiene una version "minima" disponible, es mas reciente a la que usas actualmente, la puedes decargar desde la pagina oficial de fivetech
http://www.fivetechsoft.com/english/downloads.html

Re: Cambio dinamico de color en Say

PostPosted: Sat Feb 27, 2010 9:33 pm
by MarioG
Daniel;
Gracias por la respuesta.
Tambien por el dato

Saludos

Re: Cambio dinamico de color en Say

PostPosted: Mon Nov 18, 2013 11:05 pm
by MarioG
Gente;
Retomo este tema porque al parecer, hace 2 años atras no lo solucione :oops:

Tengo la siguiente situacion;
Code: Select all  Expand view
   REDEFINE RADIO saO[_Radio1] VAR ::nDocForma ID 102,103 OF ::oDlgV UPDATE ;
            WHEN  Empty( ::aArticulos[1][_CodArt] ) ;
            ON CHANGE ( saO[_STOTAL ]:SetColor( if( ::nDctoTipo==_NDEBITO, CLR_HRED, CLR_HGREEN ), saO[_STOTAL ]:nClrPane ), ;
                        saO[_STOTAL ]:Refresh() )
   ...
   REDEFINE SAY  saO[_STOTAL ] VAR ::hDatDcto["TOTAL"]    ID 32 OF ::oDlgV PICTURE PIC_OCHOCIF0 UPDATE ;
            FONT ::hFont["Calibri40B"]
 


Tambien probe haciendo
Code: Select all  Expand view
...
   ON CHANGE ( saO[_STOTAL ]:nClrText:=  if( ::nDctoTipo==_NDEBITO, CLR_HRED, CLR_HGREEN ), ;
               saO[_STOTAL ]:Colors( saO[_STOTAL ]:hDC ),  saO[_STOTAL ]:Refresh() )
Sin exito
Se puede?, como?
gracias

Re: Cambio dinamico de color en Say

PostPosted: Tue Nov 19, 2013 1:49 am
by cuatecatl82
Prueba haciendo esto:

Code: Select all  Expand view
STATIC FUNCTION SayDinamico()
LOCAL oDlg,oSay,oTmr

  DEFINE  DIALOG    oDlg    RESOURCE "UPDATE" TRANSPARENT
  DEFINE  TIMER     oTmr    INTERVAL 200 ACTION(ChangeColor(oSay))
REDEFINE  SAY       oSay    ID 101   PROMPT   "Cambiando de Color"
 ACTIVATE TIMER     oTmr
 ACTIVATE DIALOG    oDlg

RETURN Nil

STATIC FUNCTION ChangeColor( oSay )

STATIC lStatus := .F.
   
   IF lStatus
      oSay:SETCOLOR( "0" )
   ELSE  
      oSay:SETCOLOR( "R+/W*" )
   ENDIF

   oSay:Refresh()
   lStatus = ! lStatus

RETURN Nil


A mi me funciona desde recurso.. Saludos..

Re: Cambio dinamico de color en Say

PostPosted: Wed Nov 20, 2013 12:10 pm
by MarioG
No me funciona aplicando :SetColor() ni dando valor a :nClrText y luego aplicando:Colors()
Cual puede ser el problema?

gracias

Re: Cambio dinamico de color en Say

PostPosted: Wed Nov 20, 2013 11:53 pm
by MarioG
toc...toc
otra forma?

Re: Cambio dinamico de color en Say (SOLUCIONADO)

PostPosted: Fri Nov 22, 2013 2:33 pm
by MarioG
NOOOOOOOOOOOOOOOOOOOOO! ... estoy lgual que Luis (Mostrar xBrowse filtrado....)

Tengo 2 Radiobox. Pretendiendo cambiar el color de un Say de acerudo a la seleccion del Radio.... solo que evaluaba el SetColor() al cambiar el Radio1; cuando debía hacerlo con el Radio2!!! ... que papelon! :oops:
Por suerte me puse a preparar un sample para mostrar, y como anduvo, no me quedo otra que mirar mi codigo con mas atención!
Agrego; usando :nClrText:= nnn y :Colors( hDC ), tambien funciona!... como no podía ser de otra manera :oops:

...gracias a lso 50 y tantos que lo leyeron!