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.
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.
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 Coloregracias!
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()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.
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.
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 nilHola!
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.
#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 nilanda perfecto.
ahora voy a ver que es lo que yo hago mal.
gracias.
redefine button obtn....
obtn:SetColor(COLOR_DEL_TEXTO_EN_RGB, COLOR_FONDO_EN_RGB)ejemplo:
obtn:SetColor(RGB(0, 0, 0), RGB(255, 255, 0))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.