Otro color en el header de Xbrowse (SOLUCIONADO)

Otro color en el header de Xbrowse (SOLUCIONADO)

Postby Pedro » Mon Mar 07, 2011 1: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 ?
Last edited by Pedro on Tue Mar 08, 2011 8:47 am, edited 1 time in total.
Un saludo
Pedro
gahetesoft@gmail.com
FWH12.06 BCC582, Xverce CW, Pelles C 6.00.4,PSPAD 4.54
y ahora con ADO
User avatar
Pedro
 
Posts: 464
Joined: Tue Mar 21, 2006 7:30 pm
Location: Córdoba (España)

Re: Otro color en el header de Xbrowse

Postby Armando » Mon Mar 07, 2011 3: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
User avatar
Armando
 
Posts: 3065
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Otro color en el header de Xbrowse

Postby Pedro » Mon Mar 07, 2011 7: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
User avatar
Pedro
 
Posts: 464
Joined: Tue Mar 21, 2006 7:30 pm
Location: Córdoba (España)

Re: Otro color en el header de Xbrowse

Postby Armando » Mon Mar 07, 2011 7:34 pm

Pedro:

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

Image

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
User avatar
Armando
 
Posts: 3065
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Otro color en el header de Xbrowse

Postby Daniel Garcia-Gil » Mon Mar 07, 2011 8: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: Select all  Expand view

   ::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
User avatar
Daniel Garcia-Gil
 
Posts: 2365
Joined: Wed Nov 02, 2005 11:46 pm
Location: Isla de Margarita

Re: Otro color en el header de Xbrowse

Postby Pedro » Mon Mar 07, 2011 8: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: Select all  Expand view
   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
User avatar
Pedro
 
Posts: 464
Joined: Tue Mar 21, 2006 7:30 pm
Location: Córdoba (España)

Re: Otro color en el header de Xbrowse

Postby Armando » 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
User avatar
Armando
 
Posts: 3065
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Otro color en el header de Xbrowse

Postby FranciscoA » Tue Mar 08, 2011 2: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
User avatar
FranciscoA
 
Posts: 2111
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Otro color en el header de Xbrowse

Postby Pedro » Tue Mar 08, 2011 8: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
User avatar
Pedro
 
Posts: 464
Joined: Tue Mar 21, 2006 7:30 pm
Location: Córdoba (España)

Re: Otro color en el header de Xbrowse (SOLUCIONADO)

Postby MarioG » 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: Select all  Expand view
     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
User avatar
MarioG
 
Posts: 1380
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR

Re: Otro color en el header de Xbrowse (SOLUCIONADO)

Postby acuellar » Fri Sep 23, 2011 1:28 pm

Mario se me ocurre algo asi:
Code: Select all  Expand view

   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.
User avatar
acuellar
 
Posts: 1593
Joined: Tue Oct 28, 2008 6:26 pm
Location: Santa Cruz-Bolivia

Re: Otro color en el header de Xbrowse (SOLUCIONADO)

Postby MarioG » Fri Sep 23, 2011 2: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
User avatar
MarioG
 
Posts: 1380
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR

Re: Otro color en el header de Xbrowse (SOLUCIONADO)

Postby Francisco Horta » 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
Francisco Horta
 
Posts: 845
Joined: Sun Oct 09, 2005 5:36 pm
Location: la laguna, mexico.

Re: Otro color en el header de Xbrowse (SOLUCIONADO)

Postby MarioG » 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
User avatar
MarioG
 
Posts: 1380
Joined: Fri Oct 14, 2005 1:28 pm
Location: Resistencia - Chaco - AR

Re: Otro color en el header de Xbrowse (SOLUCIONADO)

Postby Francisco Horta » Sat Sep 24, 2011 3: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
Francisco Horta
 
Posts: 845
Joined: Sun Oct 09, 2005 5:36 pm
Location: la laguna, mexico.

Next

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot], sysctrl2 and 9 guests