Page 1 of 2
Otro color en el header de Xbrowse (SOLUCIONADO)
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Mon Mar 07, 2011 1:24 pm
by Pedro
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 ?
Re: Otro color en el header de Xbrowse
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Mon Mar 07, 2011 3:02 pm
by Armando
Pedro:
oBrw:bClrHeader := { || {CLR_WHITE,CLR_BLACK} }
Saludos
Re: Otro color en el header de Xbrowse
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Mon Mar 07, 2011 7:08 pm
by Pedro
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?
Re: Otro color en el header de Xbrowse
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Mon Mar 07, 2011 7:34 pm
by Armando
Pedro:
Por aquí sí funciona como lo haces tú, tal vez tu versión ?
![Image](http://img846.imageshack.us/img846/5764/clip1.jpg)
Saludos
Re: Otro color en el header de Xbrowse
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Mon Mar 07, 2011 8:02 pm
by Daniel Garcia-Gil
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
Re: Otro color en el header de Xbrowse
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Mon Mar 07, 2011 8:32 pm
by Pedro
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. )
Re: Otro color en el header de Xbrowse
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Mon Mar 07, 2011 10:38 pm
by Armando
Pedro:
Siguiendo la idea de Daniel, tal vez no basta con comentar la línea, prueba con
oBrw:l2007 := (.F.)
Saludos
Re: Otro color en el header de Xbrowse
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Tue Mar 08, 2011 2:43 am
by FranciscoA
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
Re: Otro color en el header de Xbrowse
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Tue Mar 08, 2011 8:46 am
by Pedro
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
Re: Otro color en el header de Xbrowse (SOLUCIONADO)
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Fri Sep 23, 2011 12:30 pm
by MarioG
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?
Re: Otro color en el header de Xbrowse (SOLUCIONADO)
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Fri Sep 23, 2011 1:28 pm
by acuellar
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
Re: Otro color en el header de Xbrowse (SOLUCIONADO)
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Fri Sep 23, 2011 2:34 pm
by MarioG
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
Re: Otro color en el header de Xbrowse (SOLUCIONADO)
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Fri Sep 23, 2011 10:27 pm
by Francisco Horta
Mario,
yo le pongo una imagen a la columna para saber que esta ordenada, adjunto la imagen
ImageShack.ushttp://imageshack.us/photo/my-images/402/ordenm.jpg/salu2
pak.o
Re: Otro color en el header de Xbrowse (SOLUCIONADO)
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Fri Sep 23, 2011 11:32 pm
by MarioG
pak.o
Se ve muy bien
Hay ejemplos en la carpeta samples? o, porfa incluime el codigo
Re: Otro color en el header de Xbrowse (SOLUCIONADO)
![Post Post](./styles/prosilver/imageset/icon_post_target.gif)
Posted:
Sat Sep 24, 2011 3:13 pm
by Francisco Horta
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