cambiar el color a un boton?

Post Reply
User avatar
goosfancito
Posts: 1392
Joined: Fri Oct 07, 2005 7:08 pm

cambiar el color a un boton?

Post by goosfancito »

hola.
Quiero hacer una paleta de colores para que el usuario pueda seleccionar uno,
y pensé hacerlo con botones, y que cada botón sea del color que yo quiero.

Como hago para cambiarle el color a los botones?

gracias.
Un aporte chico hace grandes cambios.
Apoyemos al proyecto "Hogar pimpinela"
Bajate la aplicación (gratuita) y encuentra en ella toda la info de como podes colaborar.
GRACIAS!
https://play.google.com/store/apps/deta ... .acomprar
User avatar
Adolfo
Posts: 815
Joined: Tue Oct 11, 2005 11:57 am
Location: Chile
Contact:

Re: cambiar el color a un boton?

Post by Adolfo »

Goosfancito...

Espero este te sirva...

Code: Select all

   
Local Color1:=65000 //amarillo


  Redefine BtnBmp oBtn01 ID 121 Of oDlgConf  Action (Color1:=ValidaColor(oBtn01,Color1)) UPDATE
                     oBtn01:bClrGrad = { | | {{ 1, Color1, Color1 }, { 1, Color1, Color1 }} }



//-----------------------------------------------------------------------------
Function ValidaColor(Boton,Colore)

    Colore:=ChooseColor( Colore )

    Boton:bClrGrad = { | | {{ 1, Colore, Colore }, { 1, Colore, Colore }} }
    Boton:Refresh()

Return Colore
;-) Ji,ji,ji... buena la cosa... "all you need is code"

http://www.xdata.cl - Desarrollo Inteligente
----------
Lenovo Legion Y520, 16GB Ram, 1 TB NVME M.2, 1 TB SSD, GTX 1050
User avatar
goosfancito
Posts: 1392
Joined: Fri Oct 07, 2005 7:08 pm

Re: cambiar el color a un boton?

Post by goosfancito »

gracias!
Un aporte chico hace grandes cambios.
Apoyemos al proyecto "Hogar pimpinela"
Bajate la aplicación (gratuita) y encuentra en ella toda la info de como podes colaborar.
GRACIAS!
https://play.google.com/store/apps/deta ... .acomprar
User avatar
goosfancito
Posts: 1392
Joined: Fri Oct 07, 2005 7:08 pm

Re: cambiar el color a un boton?

Post by goosfancito »

Estoy probando lo que me dijiste:

Code: Select all

REDEFINE btnbmp oBtnsColores[01] ID 201 OF oDlg action(vGets[3]:="")
      oBtnsColores[1]:bClrGrad:= {|| {{1, choosecolor(65000), choosecolor(65000)}, {1, choosecolor(65000), choosecolor(65000)}}}
      oBtnsColores[1]:refresh()
 
pero no me cambia el color...
gracias.
Un aporte chico hace grandes cambios.
Apoyemos al proyecto "Hogar pimpinela"
Bajate la aplicación (gratuita) y encuentra en ella toda la info de como podes colaborar.
GRACIAS!
https://play.google.com/store/apps/deta ... .acomprar
User avatar
Adolfo
Posts: 815
Joined: Tue Oct 11, 2005 11:57 am
Location: Chile
Contact:

Re: cambiar el color a un boton?

Post by Adolfo »

Goosfancito.

Utiliza una funcion externa para la asignacion del color, no dentro del bloque de codigo que define el GRAD.

Tal como lo habia hecho yo, llamando a validacolor() en el valid del Boton.
Si quieres guardar el color elegio, la variable COLOR1 la puedes traspasar a un DBf o un campo de una tabla Mysql, y leerla desde ahi antes de crear los botones, para que el boton tome el ultimo color elegido.

Lo que yo hago es engañar al boton diciendole que va a dibujar un boton con color en degrade, pero los parametros que le paso son el mismo color para todas las opciones, asi lo dibuja plano y puedo cambiarlo segun lo indico.

Prueba de nuevo.
;-) Ji,ji,ji... buena la cosa... "all you need is code"

http://www.xdata.cl - Desarrollo Inteligente
----------
Lenovo Legion Y520, 16GB Ram, 1 TB NVME M.2, 1 TB SSD, GTX 1050
User avatar
goosfancito
Posts: 1392
Joined: Fri Oct 07, 2005 7:08 pm

Re: cambiar el color a un boton?

Post by goosfancito »

Me exprese mal en lo que necesito, por lo que vi "choosecolor" es una funcion para
seleccionar un color.

Yo quiero tener unos colores preestablecidos, ejemplo:
CLR_COLOR1
CLR_COLOR2
CLR_COLOR3
...

y poner en el dialogo tres button, y que cada button este pintado con cada color

boton1 con el color CLR_COLOR1
boton2 con el color CLR_COLOR2
boton3 con el color CLR_COLOR3

que necesito? que el boton se pinte de color, probe tal cual me decis, me
muestra el choosecolor selecciono un color pero asi y todo el boton no se pinta
de ese color...

me explique mejr ahora?

gracias.
Un aporte chico hace grandes cambios.
Apoyemos al proyecto "Hogar pimpinela"
Bajate la aplicación (gratuita) y encuentra en ella toda la info de como podes colaborar.
GRACIAS!
https://play.google.com/store/apps/deta ... .acomprar
User avatar
FranciscoA
Posts: 1964
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: cambiar el color a un boton?

Post by FranciscoA »

Goosfancito.
Talvez este ejemplo pueda servirte de guia:

Code: Select all

   ACTIVATE WINDOW oChild MAXIMIZED;
      ON INIT ( Color_oBot(oBot1,"ORO"), Color_oBot(oBot2,"PLATA")
---
---
Function Color_oBot(oBot,cColor)
DEFAULT cColor := NIL
IF !cColor = NIL
  if cColor = "ORO"
     oBot:bClrGrad = { | lMouseOver | If( ! lMouseOver,;
     { { 1.00,14481663,38075 }, ;
       { 1.00,38075,14481663 } }, ;
     { { 0.10,16777215,9363707 },;
       { 0.10,9363707,16777215 } } ) }
     oBot:SetColor(0)

  elseif cColor = "PLATA"
     oBot:bClrGrad = { | lMouseOver | If( ! lMouseOver,;
     { { 0.30,12961221,16777215 },;
       { 0.30,16777215,12961221 } },;
     { { 0.10,9363707,16777215 },;
       { 0.10,16777215,9363707 } } ) }
     oBot:SetColor(0)

  endif
ENDIF
Return nil
 
Saludos.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh1204-MySql-TMySql
User avatar
goosfancito
Posts: 1392
Joined: Fri Oct 07, 2005 7:08 pm

Re: cambiar el color a un boton?

Post by goosfancito »

Hola!

Algo no me esta andando en el boton porque bClrGrad no me hace nada. ya probe los ejemplos anteriores. voy a hacer un prg simple y voy a ver que pasa.

gracias a ambos.
Un aporte chico hace grandes cambios.
Apoyemos al proyecto "Hogar pimpinela"
Bajate la aplicación (gratuita) y encuentra en ella toda la info de como podes colaborar.
GRACIAS!
https://play.google.com/store/apps/deta ... .acomprar
User avatar
FranciscoA
Posts: 1964
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: cambiar el color a un boton?

Post by FranciscoA »

Goos, un ejemplo auto contenido:

Code: Select all

#Include "FiveWin.Ch"
//--------------------------//BOTONES DE DIFERENTES COLORES
Function Main()   //ColorBtns()
local oDlg,oBt1,oBt2
DEFINE DIALOG oDlg FROM 5,5 TO 10,60 TITLE "BOTONES DE COLORES"
@ 3,2  BTNBMP oBt1 PROMPT "Un Color"   SIZE 60,20 ACTION MsgInfo("Nada que hacer")
@ 3,80 BTNBMP oBt2 PROMPT "Otro Color" SIZE 60,20 ACTION oDlg:End()

Color_oBot(oBt1,"ORO")
Color_oBot(oBt2,"PLATA")

ACTIVATE DIALOG oDlg Centered
Return nil
//------------------------------
Function Color_oBot(oBot,cColor)
DEFAULT cColor := NIL
IF !cColor = NIL
  if cColor = "ORO"
     oBot:bClrGrad = { | lMouseOver | If( ! lMouseOver,;
     { { 1.00,14481663,38075 }, ;
       { 1.00,38075,14481663 } }, ;
     { { 0.10,16777215,9363707 },;
       { 0.10,9363707,16777215 } } ) }
     oBot:SetColor(0)

  elseif cColor = "PLATA"
     oBot:bClrGrad = { | lMouseOver | If( ! lMouseOver,;
     { { 0.30,12961221,16777215 },;
       { 0.30,16777215,12961221 } },;
     { { 0.10,9363707,16777215 },;
       { 0.10,16777215,9363707 } } ) }
     oBot:SetColor(0)
  endif
ENDIF
Return nil
 
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh1204-MySql-TMySql
User avatar
goosfancito
Posts: 1392
Joined: Fri Oct 07, 2005 7:08 pm

Re: cambiar el color a un boton?

Post by goosfancito »

anda perfecto.
ahora voy a ver que es lo que yo hago mal.
gracias.
Un aporte chico hace grandes cambios.
Apoyemos al proyecto "Hogar pimpinela"
Bajate la aplicación (gratuita) y encuentra en ella toda la info de como podes colaborar.
GRACIAS!
https://play.google.com/store/apps/deta ... .acomprar
User avatar
goosfancito
Posts: 1392
Joined: Fri Oct 07, 2005 7:08 pm

Re: cambiar el color a un boton?

Post by goosfancito »

Solucionado!

simple cuando se lo entiende:

Code: Select all

redefine button obtn....

obtn:SetColor(COLOR_DEL_TEXTO_EN_RGB, COLOR_FONDO_EN_RGB)
 

Code: Select all

ejemplo:
obtn:SetColor(RGB(0, 0, 0), RGB(255, 255, 0))
gracias a todos.
Un aporte chico hace grandes cambios.
Apoyemos al proyecto "Hogar pimpinela"
Bajate la aplicación (gratuita) y encuentra en ella toda la info de como podes colaborar.
GRACIAS!
https://play.google.com/store/apps/deta ... .acomprar
User avatar
Giovany Vecchi
Posts: 129
Joined: Mon Jun 05, 2006 9:39 pm
Location: Brasil

Re: cambiar el color a un boton?

Post by Giovany Vecchi »

No controle de ButtonBmp não funciona
Eu quero trocar a cor do texto do botão. a variavel bClrGrad funciona com BtnBmp mais não funciona com ButtonBmp

Method Setcolor() tambem não funcionou

Acho que neste caso deveria usar SendMessage, mais tambem não comsegui.
Post Reply