FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour necesito cambiar el color al
Posts: 1956
Joined: Fri Oct 07, 2005 07:08 PM
necesito cambiar el color al
Posted: Mon Feb 28, 2022 09:52 AM
Hola
Tengo este código
Code (fw): Select all Collapse
   REDEFINE LISTBOX ::oGets[ 10 ] VAR ::vGets[ 10 ] ITEMS { } ID 109 OF oDlg        // usuario asignado

necesito que cuando el usuario seleccione alguno de los item de ese listbox se pinte de un color (por ejemplo) celeste.
Como lo hago?

gracias
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM
Re: necesito cambiar el color al
Posted: Mon Feb 28, 2022 08:52 PM
//-> Mira se ayuda:

Code (fw): Select all Collapse
    REDEFINE LISTBOX oLbx FIELDS "";
             ALIAS "AUDITOR" ID 100 OF oDlg

    oLbx:Set3DStyle()
    oLbx:lHScroll := .F.
    oLbx:bLine := {|| { AUDITOR->USUARIO, AUDITOR->NIVEL, ;
                 CVALTOCHAR(AUDITOR->FECHA), AUDITOR->HORA, AUDITOR->ACCION} }

    oLbx:aHeaders := { "Usuario","Privilegio","Fecha","Hora","Acción Realizada" }
    oLbx:aHJustify := {2,2,2,2,2}

    //-> Mudar a cor
    oLbx:nClrPane := {|| IIF( (oLbx:cAlias)->(OrdKeyNo())%2=0, ;
                 nRGB(255,255,255), ColorDia(AUDITOR->FECHA) ) }

    oLbx:lAdjLastCol := .T.
    oLbx:lAdjBrowse := .T.

//--------------------------------------------------------------------------//

STATIC FUNCTION ColorDia(dDate)

    LOCAL cRGBColor:= ""
    LOCAL nDia:= 0

    nDia:= STRZERO(DAY(dDate),2)

    IF nDia == "01"
        cRGBColor:= nRGB(255,253,196)
    ELSEIF nDia == "02"
        cRGBColor:= nRGB(208,202,183)
    ELSEIF nDia == "03"
        cRGBColor:= nRGB(222,235,255)
    ELSEIF nDia == "04"
        cRGBColor:= nRGB(206,255,196)
    ELSEIF nDia == "05"
        cRGBColor:= nRGB(255,235,206)
    ELSEIF nDia == "06"
        cRGBColor:= nRGB(194,230,253)
    ELSEIF nDia == "07"
        cRGBColor:= nRGB(255,238,255)
    ELSEIF nDia == "08"
        cRGBColor:= nRGB(173,207,247)
    ELSEIF nDia == "09"
        cRGBColor:= nRGB(228,222,203)
    ELSEIF nDia == "10"
        cRGBColor:= nRGB(180,222,185)
    ELSEIF nDia == "11"
        cRGBColor:= nRGB(217,228,255)
    ELSEIF nDia == "12"
        cRGBColor:= nRGB(202,255,239)
    ELSEIF nDia == "13"
        cRGBColor:= nRGB(255,226,204)
    ELSEIF nDia == "14"
        cRGBColor:= nRGB(246,220,255)
    ELSEIF nDia == "15"
        cRGBColor:= nRGB(226,255,216)
    ELSEIF nDia == "16"
        cRGBColor:= nRGB(250,222,237)
    ELSEIF nDia == "17"
        cRGBColor:= nRGB(251,255,224)
    ELSEIF nDia == "18"
        cRGBColor:= nRGB(234,255,211)
    ELSEIF nDia == "19"
        cRGBColor:= nRGB(255,210,211)
    ELSEIF nDia == "20"
        cRGBColor:= nRGB(255,240,255)
    ELSEIF nDia == "21"
        cRGBColor:= nRGB(217,222,180)
    ELSEIF nDia == "22"
        cRGBColor:= nRGB(254,255,231)
    ELSEIF nDia == "23"
        cRGBColor:= nRGB(231,255,204)
    ELSEIF nDia == "24"
        cRGBColor:= nRGB(211,235,184)
    ELSEIF nDia == "25"
        cRGBColor:= nRGB(255,246,224)
    ELSEIF nDia == "26"
        cRGBColor:= nRGB(255,230,231)
    ELSEIF nDia == "27"
        cRGBColor:= nRGB(239,235,222)
    ELSEIF nDia == "28"
        cRGBColor:= nRGB(255,233,176)
    ELSEIF nDia == "29"
        cRGBColor:= nRGB(231,239,222)
    ELSEIF nDia == "30"
        cRGBColor:= nRGB(255,255,213)
    ELSEIF nDia == "31"
        cRGBColor:= nRGB(248,242,223)
    ENDIF

RETURN( cRGBColor )

//

ou

//
:bClrStd:=ClrStd() 

//----------------------- 
STATIC FUNCTION ClrStd() 
//----------------------- 
   LOCAL aCol:={} 
   IF alias->(ordkeyno()) % 2 == 0 
      aCol:={CLR_BLACK, RGB(193,221,255) } 
   ELSE 
      aCol:={CLR_BLACK, RGB(221,245,255) } 
   ENDIF 

RETURN( aCol )


Regards, saludos
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341

Continue the discussion