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 Colore
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()
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
#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
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))
Return to FiveWin para Harbour/xHarbour
Users browsing this forum: FiveWiDi and 104 guests