FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Cambiar el color de un say en tiempo de ejecuci贸n
Posts: 396
Joined: Tue Mar 18, 2008 09:41 PM
Cambiar el color de un say en tiempo de ejecuci贸n
Posted: Wed Jun 16, 2010 09:42 AM
Hola,

Mi pregunta se debe a que tengo un formulario de entrada de datos.
Con un RADIO BUTTON, hay un say que se debe ver de un colo u otro.

Por ejemplo.
Code (fw): Select all Collapse
REDEFINE SAY oSay ID LOQUESEA OF oDlg COLORS X, Y


Pero no se como hacer para que el texto del say cambie de color seg煤n la opci贸n seleccionada.

驴ser谩 que mi versi贸n de FWH no tiene ese metodo o propiedad?
He buscado en TSay.prg pero no he encontrado nada que me pueda ayudar.

:-)
Javier,

FWH 8.04 2008
Posts: 1335
Joined: Fri Jun 13, 2008 11:04 AM
Re: Cambiar el color de un say en tiempo de ejecuci贸n
Posted: Wed Jun 16, 2010 11:18 AM
Is this what you are looking for ?

Code (fw): Select all Collapse
#Include "FiveWin.ch"
//-------------------------------------------------//
Function Main()
    Local oDlg,oSay,oBtn
    
    DEFINE DIALOG oDlg TITLE "Test Say color"

    @1,10 SAY oSay PROMPT "Hello" OF oDlg COLOR CLR_WHITE,CLR_RED
    @3,2 BUTTON oBtn PROMPT "Change Clr" OF oDlg ;
         ACTION (oSay:SetColor( CLR_YELLOW, CLR_GREEN ),oSay:Refresh())
    
    ACTIVATE DIALOG oDlg
    
Return NIL


Regards
Anser
Posts: 396
Joined: Tue Mar 18, 2008 09:41 PM
Re: Cambiar el color de un say en tiempo de ejecuci贸n
Posted: Wed Jun 16, 2010 02:33 PM
Yes anserkk, it is wath i'm looking for.

But for a miterious reason, it doesn't works!

I find diference with you example and my code.
1潞st) I work with NOMODAL dialog invoced from an MDIChild Window.
2nd) I try to chagne the says' colours from a radio button.
3rd) I work with resource say.

Here you have an example of my code:

Code (fw): Select all Collapse
.....

REDEFINE RADIO oRadioGuardar ;
   VAR nRadioGuardar ID ID_RADIO_PF, ID_RADIO_SO OF oDlg[ 1 ] ;
   ON CHANGE if( nRadioGuardar == 2,; 
               ( oSayProp:SetText( "Sociedad" ),; // ok
                 oSayCony:SetText( "Contacto" ),; // ok
                 oSayApe:SetColor( CLR_LIGHTGRAY, CLR_GREEN ),; // not works.
                 oSayApe:Refresh() ),; // not works.
               ( oSayProp:SetText( "Cliente" ),; // ok
                 oSayCony:SetText( "Conyuge" ),; // ok
                 oSayApe:SetColor( CLR_BLUE, CLR_LIGHTORANGE ),; // not works.
                 oSayApe:Refresh() ) // not works.

.....

REDEFINE SAY oSayApe ;
   ID ID_APELLIDO OF oDlg[ 1 ] COLORS CLR_BLUE, CLR_LIGHTGREEN

.....

:-)
Javier,

FWH 8.04 2008
Posts: 396
Joined: Tue Mar 18, 2008 09:41 PM
Re: Cambiar el color de un say en tiempo de ejecuci贸n
Posted: Wed Jun 16, 2010 02:42 PM
Valla!

Acabo de encontrar el error.

Aparentemente solo le faltaba el PROMPT al say.
Al no ponerselo, no puede controlar el literal, pues solo muestra el que sac贸 desde recurso.

Code (fw): Select all Collapse
// Before:

REDEFINE SAY oSayApe ;
   ID ID_APELLIDO OF oDlg[ 1 ] COLORS CLR_BLUE, CLR_SALMON UPDATE // Not works.

// After:

REDEFINE SAY oSayApe PROMPT "* Apellidos" ;
   ID ID_APELLIDO OF oDlg[ 1 ] COLORS CLR_BLUE, CLR_SALMON UPDATE // It's all right!


Thanks any way, anserkk :-)
Javier,

FWH 8.04 2008

Continue the discussion