Page 1 of 1

Ayuda Cambiar el Color de un SAY "SOLUCIONADO"

Posted: Wed Jun 10, 2020 10:09 pm
by remtec
Hola Amigos.

Quizás sea muy básico, pero estoy cambiando la forma de mostrar los datos en pantalla y me he encontrado con un problema que no logro solucionar.

Lo que necesito es poder mostrar los datos en un Dialogo, como por ejemplo Nombre, Rut y Dirección, que se encuentran en la Dbf, pero quiero en el fondo de Say, tome un color que le asigno y que solo sea el largo del texto que trae el registro y no logro dar con la solucion, lo unico que logre fue cambiar el color del Font.

Muchos Saludos

Antonio

Este es parte del codigo:

Code: Select all

   DEFINE DIALOG oDlg2 SIZE 600,570 PIXEL TRUEPIXEL FONT oFont2   STYLE nOr( WS_POPUP, WS_VISIBLE, WS_DLGFRAME )

     @ 10,150 SAY otitu PROMPT " MUESTRA PROFESIONAL "  PIXEL OF oDlg2 COLORS RGB(0,100,0)   FONT oFont5

     @ 055,050 SAY  "Código :"                          SIZE 100,20         PIXEL OF oDlg2  RIGHT     FONT oFont6
     @ 105,050 SAY "Nombre :"                    SIZE 100,20         PIXEL OF oDlg2  RIGHT     FONT oFont6
     @ 130,050 SAY "R.u.t. :"                    SIZE 100,20         PIXEL OF oDlg2  RIGHT     FONT oFont6

         // Aqui necesito que estos Say, tengan un fondo en color y solo del largo del texto de la variable no considerando _ en blanco.

     @ 053,160 SAY Profe->Cod_Pro       SIZE 60,22  PIXEL OF oDlg2          COLOR RGB(0,0,128)   FONT oFont6   BORDER  CENTER
     @ 105,160 SAY Profe->Nom_Doc       SIZE 350,22  PIXEL OF oDlg2      COLOR RGB(0,0,128)   FONT oFont6
     @ 130,160 SAY Profe->Rut_Pro       SIZE 160,22 PIXEL OF oDlg2         COLOR RGB(0,0,128)   FONT oFont6
.....
.....

 

Re: Ayuda Cambiar el Color de un SAY ??

Posted: Thu Jun 11, 2020 12:08 pm
by Rick Lipkin
Don't know if this is what you are looking for .. I use this code to apply a specific font and color to a specific say .. from resources

Code: Select all

REDEFINE SAY oSay19  ID 151 of oGrps UPDATE    
                     oSay19:SetFont( oFontB )
                     oSay19:SetColor(nRgb(7,7,224))      // blue
 
oSay is the text value of the resource ID 151 .. or you could do it like this

Code: Select all

cSay19 := "This is some text"

SAY oSay19  var cSay  of oGrps UPDATE    
       oSay19:SetFont( oFontB )
       oSay19:SetColor(nRgb(7,7,224))      // blue

 
Hope this is what you are looking for ..

Rick Lipkin

Re: Ayuda Cambiar el Color de un SAY ??

Posted: Thu Jun 11, 2020 3:21 pm
by remtec
Hola Rick

Muchas gracias por responder.

Lamentablemente no me funciona, solo cambia el color del Texto, algo que si puedo hacer, pero no logra poner un color en el fondo del texto, es lo basico que necesito.

Incluso le agregue 2 colores, pensando obtener color texto y fondo, pero no logro dar con el requerimiento.

Pense que seria mas facil y que mi pregunta era muy basica, pero me doy cuenta no es algo comun.

Como siempre sigo molestando para lograr el requerimiento que se me ha planteado.

Muchos Saludos.

Antonio

Aplique lo que me indicaste y además modifique tu código quedando así:

Code: Select all

     @ 200,160 SAY oSay1 Var Profe->Nom_Pro       SIZE 350,22 PIXEL OF oDlg2   PICTURE "@!"  UPDATE    // CUEBANNER "User Id"
                oSay1:SetFont( oFont6 )
                oSay1:SetColor(RGB(0,0,128), RGB(82,171,38))

 

Re: Ayuda Cambiar el Color de un SAY "URGENTE"

Posted: Thu Jun 11, 2020 4:28 pm
by Rick Lipkin
Try this function .. This sets the background to the color of your choice of the active get .. again, may or may not what be are looking for ..

Code: Select all

SetGetColorFocus( rgb(209,224,252) )      // color for gets
 
Place this above code before your fields and this code at the end of your code to set the get background back to normal.

Code: Select all

SetGetColorFocus( CLR_WHITE ))
 

Rick Lipkin

Re: Ayuda Cambiar el Color de un SAY "URGENTE"

Posted: Thu Jun 11, 2020 6:02 pm
by remtec
Hola Rick

Reitero las gracias por tu interes y disponibilidad de ayudarme.

Lo que me indicas, lo uso para los GET cuando corresponde a la actualización de datos, pero para este caso, solo se necesita mostrar los datos y no permitir su actualización, es por este motivo que uso SAY.

Me pregunto como lo haran otros colegas o no es la forma correcta o que me permite Fivewin, para solo mostrar datos en un dialogo por pantalla.

Muchos Saludos.
Anotio.

Re: Ayuda Cambiar el Color de un SAY "URGENTE"

Posted: Thu Jun 11, 2020 6:41 pm
by FranciscoA
Hola Antonio, intenta asi:
local oSay1,oSay2,oSay3

Code: Select all

     @ 053,160 SAY oSay1 Profe->Cod_Pro      SIZE 60,22  PIXEL OF oDlg2    COLOR RGB(0,0,128), CLR_YELLOW   FONT oFont6   BORDER  CENTER
     @ 105,160 SAY oSay2 Profe->Nom_Doc    SIZE 350,22  PIXEL OF oDlg2  COLOR RGB(0,0,128) , CLR_YELLOW  FONT oFont6
     @ 130,160 SAY oSay3 Profe->Rut_Pro      SIZE 160,22 PIXEL OF oDlg2   COLOR RGB(0,0,128) , CLR_YELLOW  FONT oFont6
 
Saludos.

Re: Ayuda Cambiar el Color de un SAY "URGENTE"

Posted: Thu Jun 11, 2020 6:59 pm
by remtec
Hola Francisco,

Amigo como estas?

Muchas gracias por responder.

Tu codigo sugerido me arroja un error, lo modifique pero igual NO funciona, no se si alguien lo ha logrado, que error puedo estar cometiendo, pero finalmente no logro dar con la solución y los tiempos se vienen encima.

Muchos Saludos
Antonio

Así deje tu codigo, tuve agregar Var:

Code: Select all

@ 200,160 SAY oSay1 Var Profe->Nom_Doc    SIZE 350,22  PIXEL OF oDlg2  COLOR RGB(0,0,128) , CLR_YELLOW  FONT oFont6
 

Re: Ayuda Cambiar el Color de un SAY "URGENTE"

Posted: Thu Jun 11, 2020 7:13 pm
by cnavarro
Antonio, pon el código que utilizas para definir el diálogo que hace de contenedor de los says

Re: Ayuda Cambiar el Color de un SAY "URGENTE"

Posted: Thu Jun 11, 2020 7:25 pm
by remtec
Hola Cristobal.

Muchas gracias por responder.

Si entiendo bien tu respuesta, te refieres a esto:
DEFINE DIALOG oDlg2 SIZE 600,570 PIXEL TRUEPIXEL FONT oFont2 STYLE nOr( WS_POPUP, WS_VISIBLE, WS_DLGFRAME )

Si es asi, le saque el Style, no hay cambios, sigue sin funcionar, quizás sea algún error que estoy cometiendo, pero no doy con el.

Muchos Saludos,
Antonio

Re: Ayuda Cambiar el Color de un SAY "URGENTE"

Posted: Thu Jun 11, 2020 8:13 pm
by cnavarro
Antonio, en el ON INIT del ACTIVATE, ponle
ON INIT MsgInfo( oDlg:lTransparent )
y dime qué te aparece

Re: Ayuda Cambiar el Color de un SAY "URGENTE"

Posted: Thu Jun 11, 2020 8:33 pm
by remtec
Hola Cristobal

Muchas gracias.

Al aplicar lo que dices.

Me muestra un mensaje: .T.

Muchos Saludos
Antonio

Re: Ayuda Cambiar el Color de un SAY "URGENTE"

Posted: Thu Jun 11, 2020 8:35 pm
by cnavarro
Ok, después del DEFINE DIALOG pon
oDlg:lTransparent := .F.
y prueba

Re: Ayuda Cambiar el Color de un SAY "URGENTE"

Posted: Thu Jun 11, 2020 8:48 pm
by remtec
Hola Cristobal,

Grande Maestro, como siempre, funciono perfecto.

Eternamente agradecido, mil gracias.

Muchos Saludos
Antonio