Cambiar color columna listbox

Cambiar color columna listbox

Postby J. Ernesto » Wed Jul 27, 2016 1:08 pm

Compañeros:

Como se hace para cambiarle el color a una columna de un listbox?.

Gracias
J. Ernesto Pinto Q.
Fwh_x64 2407 + BCC++_x64 7_70__6_72 + Harbour 3.20 + LopeEdit 5.8 + UEstudio 26.0
jepsys@hotmail.com, jepsys@gmail.com, jepsys@yahoo.com
User avatar
J. Ernesto
 
Posts: 161
Joined: Tue Feb 03, 2009 10:08 pm
Location: Bogotá D.C. Colombia

Re: Cambiar color columna listbox

Postby karinha » Wed Jul 27, 2016 1:37 pm

Code: Select all  Expand view

// ListBox use sample with colors

#Include "FiveWin.ch"

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

#Define CLR_LGRAY     nRGB( 230, 230, 230 )
#Define CLR_LGREEN    nRGB( 190, 215, 190 )
#Define CLR_VERMELHO  nRGB( 255, 000, 000 ) //--> Vermelho Para a Letra
#Define CLR_AMARELO   nRgb( 255, 255, 000 ) //--> Amarelo Para o Fundo
#Define CLR_BOMBOM    nRGB( 165,  42,  42 ) //--> Marrom BomBom
#Define CLR_MARROM    nRGB( 235, 202, 171 ) //--> Marrom Normal

Request OrdKeyNo, OrdKeyCount

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

STATIC oWnd

Function Main()

   LOCAL oLbx, oSay, wfonte_FixedSys
   LOCAL cItem := "Troque a Cor da ListBox em Tempo Real"
   LOCAL oBtn1, oBtn2
   LOCAL cTitle := ( "Testando uma ListBox com Cores - " ) +     ;
                   ( "kapiabafwh@bol.com.br"             )       ;

   DEFINE FONT wfonte_FixedSys NAME "FixedSys"    SIZE 10,10

   DEFINE WINDOW oWnd FROM 1, 1 TO 20, 60                   ;
          TITLE OemToAnsi( cTitle )                         ;
          COLOR "W+/B"

   @ 2, 2 LISTBOX oLbx VAR cItem ;
          ITEMS { "Item One",  "Item Two", "Item Three",    ;
                  "Item Four", "Item Five" }                ;
          OF oWnd SIZE 200, 150                             ;
          COLOR CLR_BROWN, CLR_LGREEN                       ;
          FONT WFONTE_FIXEDSYS

   @ 2,  40 SAY oSay VAR cItem SIZE 200, 12 OF oWnd

   @ 8,  42 BUTTON oBtn1 PROMPT "&Cores" SIZE 80, 23        ;
            ACTION( SET_COLOR( oLbx ) )

   oBtn1:cToolTip := OemToAnsi( "N¢is ‚ bom com cores " )

   @ 11, 42 BUTTON oBtn2 PROMPT "&Fim " SIZE 80, 20 OF oWnd ;
            ACTION ( oWnd:End() ) CANCEL                    ;
            MESSAGE "Pressione-me Para Finalizar"

   oBtn2:cToolTip := OemToAnsi( "Saida - Exit - Cancelar " )

   SET MESSAGE OF oWnd TO "Testando Cores na ListBox"

   SET FONT OF oBtn1 TO WFONTE_FIXEDSYS
   SET FONT OF oBtn2 TO WFONTE_FIXEDSYS

   ACTIVATE WINDOW oWnd

   wfonte_FixedSys:End()

   Release All

Return Nil

//---------------------TROCA A COR EM TEMPO REAL----------------------------//

Function SET_COLOR( oLbx )

   LOCAL oBrush

   //-> Troca a cor da tela
   /*
   DEFINE BRUSH oBrush COLOR ChooseColor()

   SET BRUSH OF oWnd TO oBrush
   */


   //-> Troca a Cor da ListBox em tempo real
   oLbx:SetColor( oLbx:nClrText, ChooseColor( oLbx:nClrPane ) )

   oLbx:Refresh()
   oLbx:SetFocus()

Return Nil

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

//-> FIM DO PROGRAMA
 


João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7794
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Cambiar color columna listbox

Postby karinha » Wed Jul 27, 2016 1:38 pm

Code: Select all  Expand view

//-> Terceira cor em uma ListBox, Se tem uma condicao

oLbx:nClrPane     := { || IIF( ( oLbx:cAlias)->( OrdKeyNo()) %2 == 1, ;
                               {CLR_WHITE, if( fecha> date(), CLR_RED,  
RGB(204,255,255))}, {CLR_WHITE, if( fecha > date(), CLR_RED,  RGB(127,192,144))} )}
 


João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7794
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Cambiar color columna listbox

Postby karinha » Wed Jul 27, 2016 1:38 pm

Code: Select all  Expand view

Solo tienes que trabajar un poco el código.

Suponemos que los colores pijama son CELE y GRIS.

Los campos son FVto para lafecha de vencimiento y el campo logico COBRADO.


oLbx:nClrPane:={|| IIF((oLbx:cAlias)->FVTO <= DATE() .and. ! (oLbx:cAlias)->COBRADO, HROJO, ;
(IIF((oLbx:cAlias)->(OrdKeyNo())%2==0,CELE, GRIS)) ) }


Fíjate que la primera parte del IIF se refiere a que cumpla la condición y lo ponemos en rojo. Si no cumple la primera condición, vendria otros IIF con el pijama normal.

A mi me funciona perfectamente. Si no te sale, trabaja el código un poco.Un saludo
 


João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
User avatar
karinha
 
Posts: 7794
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil

Re: Cambiar color columna listbox

Postby acuellar » Wed Jul 27, 2016 1:49 pm

Ernesto quizas así te sirva

Code: Select all  Expand view

  oCol:bClrStd:={|| {CLR_WHITE,CLR_GRAY} }
 


Saludos,

Adhemar
Saludos,

Adhemar C.
User avatar
acuellar
 
Posts: 1643
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: Cambiar color columna listbox

Postby J. Ernesto » Thu Jul 28, 2016 1:32 pm

Lo que busco es cambiar por ejemplo, el color de la columna 3 y 5.

Saludos
J. Ernesto Pinto Q.
Fwh_x64 2407 + BCC++_x64 7_70__6_72 + Harbour 3.20 + LopeEdit 5.8 + UEstudio 26.0
jepsys@hotmail.com, jepsys@gmail.com, jepsys@yahoo.com
User avatar
J. Ernesto
 
Posts: 161
Joined: Tue Feb 03, 2009 10:08 pm
Location: Bogotá D.C. Colombia

Re: Cambiar color columna listbox

Postby acuellar » Thu Jul 28, 2016 3:25 pm

Ernesto

Lo colocas en cada columna que querras

Code: Select all  Expand view

  oCol:=oBrw:AddCol()
   oCol:bEditValue  := { || oEMPL:CODIGO }
   oCol:nHeadStrAlign := AL_CENTER
   oCol:cHeader:= "COD."
   oCol:nWidth:=30
   oCol:bClrStd:={|| {CLR_WHITE,CLR_GRAY} }
   
   oCol:=oBrw:AddCol()
   oCol:bEditValue  := { || oEMPL:NOMBRE }
   oCol:nHeadStrAlign := AL_CENTER
   oCol:cHeader   := "NOMBRE Y APELLIDOS"
   oCol:nWidth:=200

    oCol:=oBrw:AddCol()
    oCol:bEditValue  := { || oEMPL:CODNS }
    oCol:cHeader:= "NS"
     oCol:nWidth:=65
     oCol:bClrStd:={|| {CLR_WHITE,CLR_GRAY} }
 
 


Saludos,

Adhemar
Saludos,

Adhemar C.
User avatar
acuellar
 
Posts: 1643
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 32 guests