FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Otro color en el header de Xbrowse (SOLUCIONADO)
Posts: 464
Joined: Tue Mar 21, 2006 07:30 PM
Otro color en el header de Xbrowse (SOLUCIONADO)
Posted: Mon Mar 07, 2011 01:24 PM

Hola a todos
Esto será una tontería, pero....¿porqué, si intento cambiar el color del header de un xbrowse con oBrw:bClrHeader, solo me cambia el color de las letras y no el del fondo?
Como curiosidad diré que sí me cambia el color del fondo de la columna del marcador y de la última columna vacía, pero no el del resto de las columnas.
¿ Hay que hacer algo más que poner el par de colores (letra y fondo) que se quiere utilizar ?

Un saludo
Pedro
gahetesoft@gmail.com
FWH12.06 BCC582, Xverce CW, Pelles C 6.00.4,PSPAD 4.54
y ahora con ADO
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Otro color en el header de Xbrowse
Posted: Mon Mar 07, 2011 03:02 PM

Pedro:

oBrw:bClrHeader := { || {CLR_WHITE,CLR_BLACK} }

Saludos

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 464
Joined: Tue Mar 21, 2006 07:30 PM
Re: Otro color en el header de Xbrowse
Posted: Mon Mar 07, 2011 07:08 PM

Gracias por responder Armando, pero eso es lo que hago, oBrw:bClrHeader := {||{RGB(0,0,153), RGB( 255, 255, 102 ) } }, y ahí el color de la letra lo toma, azul RGB(0,0,153), no así el color del fondo del Header que queda tal cual era, sin embargo como dije, el header de la columna del boomarck si me lo cambia al amarillo, y el de la última columna de ajuste que está vacía, el resto no lo cambia.
¿Alguna solución?

Un saludo
Pedro
gahetesoft@gmail.com
FWH12.06 BCC582, Xverce CW, Pelles C 6.00.4,PSPAD 4.54
y ahora con ADO
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Otro color en el header de Xbrowse
Posted: Mon Mar 07, 2011 07:34 PM
Pedro:

Por aquí sí funciona como lo haces tú, tal vez tu versión ?



Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 PM
Re: Otro color en el header de Xbrowse
Posted: Mon Mar 07, 2011 08:02 PM
Pedro...

verifdica que no estes usando la clausula 2007, de esa manera o te va a funcionar.... deberas usar bClrGrad para el caso que este activo l2007

este es un ejemplo (tomada de la misma clase)
Code (fw): Select all Collapse
   ::bClrGrad := { | lInvert | If( lInvert, ;
      { { 1/3, nRGB( 255, 253, 222 ), nRGB( 255, 231, 151 ) }, ;
        { 2/3, nRGB( 255, 215,  84 ), nRGB( 255, 233, 162 ) }  ;
      }, ;
      { { 1/3, nRGB( 219, 230, 244 ), nRGB( 207, 221, 239 ) }, ;
        { 2/3, nRGB( 201, 217, 237 ), nRGB( 231, 242, 255 ) }  ;
      } ) }


lInvert es el valor logico que se activara a TRUE cuando se presiona sobre el header
Posts: 464
Joined: Tue Mar 21, 2006 07:30 PM
Re: Otro color en el header de Xbrowse
Posted: Mon Mar 07, 2011 08:32 PM
Armando, como habrás leído en la firma del post, uso la versión 10.12, no creo que sea la versión.
Daniel, la clausula 2007 la tengo quitada de este browse ya que pensé que afectaría al color del header. Aún así poniéndola o quitándola el resultado es el mismo. Esta es la construcción del Browse
Code (fw): Select all Collapse
    oLbx := TXBrowse():New( oWChild ) 
    oLbx:nMarqueeStyle       := MARQSTYLE_HIGHLCELL 
    oLbx:nColDividerStyle    := LINESTYLE_BLACK 
    oLbx:nRowDividerStyle    := LINESTYLE_BLACK 
    oLbx:lColDividerComplete := .t. 
    oLbx:nHeaderLines        := 2
    oLbx:lFooter             := .t.
    
    oCol = oLbx:AddCol()
    oCol:bStrData      := { ||DTOC((cAlias)->FECENTRA) } 
    oCol:cHEADER       := "FECHA"+CRLF+"ENTRADA" 
    oCol = oLbx:AddCol()
    oCol:bStrData      := { ||DTOC((cAlias)->FECSALIDA) } 
    oCol:cHEADER       := "FECHA"+CRLF+"SALIDA"
    oCol = oLbx:AddCol()
    oCol:bStrData      := { ||(cAlias)->ID }                      
    oCol:cHEADER       := "ID"+CRLF+"PACIENTE"
    oCol = oLbx:AddCol()
    oCol:bStrData      := { ||(cAlias)->PACIENTE } 
    oCol:cHEADER       := "PACIENTE" 
    oCol = oLbx:AddCol()
    oCol:bStrData      := { ||DTOC((cAlias)->FECNAC) } 
    oCol:cHEADER       := "FECHA"+CRLF+"NACIMIENTO" 
    oCol = oLbx:AddCol()
    oCol:bStrData      := { ||(cAlias)->HOTEL } 
    oCol:cHEADER       := "HOTEL" 
    oCol = oLbx:AddCol()
    oCol:bStrData      := { ||(cAlias)->HABITACION } 
    oCol:cHEADER       := "HABITACIÓN" 
    oCol = oLbx:AddCol()
    oCol:bStrData      := { ||(cAlias)->TTOO } 
    oCol:cHEADER       := "TTOO" 
    oCol = oLbx:AddCol()
    oCol:bStrData      := { ||(cAlias)->RTE } 
    oCol:cHEADER       := "RTE"
    oCol = oLbx:AddCol()
    oCol:bStrData      := { ||(cAlias)->SEGURO } 
    oCol:cHEADER       := "COMPAÑÍA"+CRLF+"SEGURO" 
    
     
    oLbx:SetRDD() 

    for nFor := 1 to len( oLbx:aCols ) 
        oCol := oLbx:aCols[ nFor ] 
        oCol:nEditType := 0 
        oCol:blDClickData := {|| CtrPaciente(ID_MOD,oDPacien) }
    next 
*    oLbx:l2007 := (.t.)
    oLbx:bClrHeader    := {||{RGB(0,0,153), RGB( 255, 255, 102 ) } }
    oLbx:bClrStd := { || If( ( (oLbx:cAlias)->(OrdKeyNo()) % 2 ) == 0, ;
                    { CLR_BLACK, RGB( 224, 236, 255 ) }, { CLR_BLACK, RGB( 189, 211, 253 ) } ) } 
              
    oLbx:CreateFromCode()
    oWChild:oClient := oLbx 

    ACTIVATE WINDOW oWChild MAXIMIZED ;
             ON INIT oLbx:SetFocus();     
             VALID( oMenu:Enable(),dbCloseAll(), .t. )
Un saludo
Pedro
gahetesoft@gmail.com
FWH12.06 BCC582, Xverce CW, Pelles C 6.00.4,PSPAD 4.54
y ahora con ADO
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: Otro color en el header de Xbrowse
Posted: Mon Mar 07, 2011 10:38 PM

Pedro:

Siguiendo la idea de Daniel, tal vez no basta con comentar la línea, prueba con

oBrw:l2007 := (.F.)

Saludos

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 2170
Joined: Fri Jul 18, 2008 01:24 AM
Re: Otro color en el header de Xbrowse
Posted: Tue Mar 08, 2011 02:43 AM

Pedro, tú lo tienes asi:
oBrw:bClrHeader := {||{RGB(0,0,153), RGB( 255, 255, 102 ) } }

Intenta, asi:
oBrw:bClrHeader := {|| { nRGB(140, 0, 0), nRGB( 231, 242, 255 ), } }
De esta manera a mi me trabaja bien.
Saludos

Francisco J. Alegría P.

Chinandega, Nicaragua.



Fwxh-MySql-TMySql
Posts: 464
Joined: Tue Mar 21, 2006 07:30 PM
Re: Otro color en el header de Xbrowse
Posted: Tue Mar 08, 2011 08:46 AM

Hola a todos

Pues si Armando, la solución es poner l2007 a .F.
Francisco, esa solución la he utilizado y me hacía lo mismo, la solución de Armando era la correcta para poner el fondo en otro color, y si quiero que esté con el degradado, la solución es la de Daniel, utilizar el bClrGrad

Muchas gracias a todos

Un saludo
Pedro
gahetesoft@gmail.com
FWH12.06 BCC582, Xverce CW, Pelles C 6.00.4,PSPAD 4.54
y ahora con ADO
Posts: 1380
Joined: Fri Oct 14, 2005 01:28 PM
Re: Otro color en el header de Xbrowse (SOLUCIONADO)
Posted: Fri Sep 23, 2011 12:30 PM
Estimados;
retomo este hilo dado que estoy teniendo el problema inicialmente comentado
Mi xBrowse tiene l2007 en .T.; lo que pretendo es cambiar el color del texto de un header; cuando se hace clic sobre él ordena por esa columna, entonces la idea es resaltarlo con color
El codigo es:
Code (fw): Select all Collapse
      WITH Object ::oBrw
         if :aCols[nCol]:cOrder == "A"
            :aCols[nCol]:cOrder:= "D"
         elseif :aCols[nCol]:cOrder == "D"
            :aCols[nCol]:cOrder:= "A"
         else
            :aCols[nCol]:cOrder:= "A"
         end

         aEval( ::oBrw:aCols, {|o,n| if( !n == nCol, ( o:cOrder:= "", o:oHeaderFont:= ::oBrw:oFont ), ) })
         :aCols[nCol]:oHeaderFont:= ::hFont["SysFontB"]
         :bClrHeader := {|o| if( Empty( ::oBrw:aCols[nCol]:cOrder ), { CLR_BLACK, GetSysColor( COLOR_BTNFACE ), }, ;
                                                                     { CLR_HBLUE, GetSysColor( COLOR_BTNFACE ), } ) }
         :Refresh()
      END

Cual sería la forma de hacerlo?
Resistencia - "Ciudad de las Esculturas"

Chaco - Argentina
Posts: 1710
Joined: Tue Oct 28, 2008 06:26 PM
Re: Otro color en el header de Xbrowse (SOLUCIONADO)
Posted: Fri Sep 23, 2011 01:28 PM
Mario se me ocurre algo asi:
Code (fw): Select all Collapse
   Private Zp:=1

   oCol:=oBrw:AddCol()
   oCol:bStrData  := { || CODIGO }
   oCol:nHeadStrAlign := AL_CENTER
   oCol:cHeader:= "CODIGO"
   oCol:nWidth:=nAncho
   oCol:cSortOrder:="ORDCOD"  //ASIGNADO EN EN EL TAG
   oCol:bLClickHeader:= {|| CambiaColor(1) }

  oCol:=oBrw:AddCol()
   oCol:bStrData  := { || NOMBRE }
   oCol:nHeadStrAlign := AL_CENTER
   oCol:cHeader:= "NOMBRE"
   oCol:nWidth:=nAncho
   oCol:cSortOrder:="ORDNOM"
   oCol:bLClickHeader:= {|| CambiaColor(2) }

...

Static Function CambiaColor(nCol)
  oBrw:aCols[zp]:bClrHeader := { || {CLR_BLACK,CLR_BLACK} }
  oBrw:aCols[nCol]:bClrHeader := { || {CLR_BLUE,CLR_BLACK} }
  zP:=nCol
 oBrw:GoTop()
Return Nil


Espero te sirva

Saludos,

Adhemar
Saludos,



Adhemar C.
Posts: 1380
Joined: Fri Oct 14, 2005 01:28 PM
Re: Otro color en el header de Xbrowse (SOLUCIONADO)
Posted: Fri Sep 23, 2011 02:34 PM

acuellar; gracias por responder
Por lo que veo tu variable Zp sirve para restablecer el color, llamemoslo, por defecto.
No obstante, el aplicar el color a nCol, es como lo vengo haciendo.
Esto no anda porque tengo activa la clausula l2007, como se explica en los post anteriores
O sea, lo que necesito es saber si se puede cambiar el color del FORE, para este caso

Resistencia - "Ciudad de las Esculturas"

Chaco - Argentina
Posts: 845
Joined: Sun Oct 09, 2005 05:36 PM
Re: Otro color en el header de Xbrowse (SOLUCIONADO)
Posted: Fri Sep 23, 2011 10:27 PM
Mario,
yo le pongo una imagen a la columna para saber que esta ordenada, adjunto la imagen
ImageShack.us

http://imageshack.us/photo/my-images/402/ordenm.jpg/
salu2
pak.o
____________________

Paco
Posts: 1380
Joined: Fri Oct 14, 2005 01:28 PM
Re: Otro color en el header de Xbrowse (SOLUCIONADO)
Posted: Fri Sep 23, 2011 11:32 PM

pak.o
Se ve muy bien
Hay ejemplos en la carpeta samples? o, porfa incluime el codigo

Resistencia - "Ciudad de las Esculturas"

Chaco - Argentina
Posts: 845
Joined: Sun Oct 09, 2005 05:36 PM
Re: Otro color en el header de Xbrowse (SOLUCIONADO)
Posted: Sat Sep 24, 2011 03:13 PM

Mario,
Creo si hay ejemplos en samples
pero te adjunto codigo:

aoCols[1] := oBrw2:AddCol()
aoCols[1]:AddBmpHandle( oApp:cDirBmps+"Orden.bmp" )
aoCols[1]:nWidth := 85
aoCols[1]:cHeader := "No. Folio"+CRLF+"Recepción"
aoCols[1]:bStrData := { || TRANSFORM( oQry2:FieldGet("id"), "99999999" ) }
aoCols[1]:nDataStrAlign := AL_RIGHT
aoCols[1]:nHeadStrAlign := AL_CENTER
aoCols[1]:nHeadBmpAlign := AL_RIGHT
aoCols[1]:bLClickHeader := { || aoCols[1]:nHeadBmpNo:=1,aoCols[2]:nHeadBmpNo:=0,cCampo:="id"}

salu2
P@ko

____________________

Paco