Estimados, sigo molestando con xBrowse.
Tengo un xBrowse: oBrSaldo:nDataLines := 33, aquí coloco el saldo por día de una cuenta bancaria, dependiendo si
es sabado o domingo, no aparece el saldo.
Pregunta: Se puede colorear las línea de sabado o Domingo de un color diferente?
La base de Datos tiene 32 campos, cada uno representa el dia de un mes y la muestro asi-> Saldo(1)+CRLF+Saldo(2).... hasta 31 o fin del mes.
Dejo una imagen de como se ve, muchas gracias.
http://img841.imageshack.us/img841/6438/saldos.jpg
Muchas gracias, saludos.
Ruben Fernandez
xBrowse:nDataLines := 33 Colorear SOLUCIONADO
xBrowse:nDataLines := 33 Colorear SOLUCIONADO
Last edited by RuFerSo on Sun Aug 26, 2012 6:39 am, edited 1 time in total.
- JavierVital
- Posts: 105
- Joined: Thu Feb 26, 2009 4:08 pm
- Contact:
Re: xBrowse:nDataLines := 33 Colorear cada renglon?
Lo puedes hacer asi
Espero te ayude
Code: Select all
oBrow::bClrStd := {|| iif( dia = "Domingo" .or. dia = "Sabado" ,aqui los colores , "")
Re: xBrowse:nDataLines := 33 Colorear cada renglon?
Lo pruebo y aviso, muchas gracias.
Saludos
Ruben Fernandez
Saludos
Ruben Fernandez
Re: xBrowse:nDataLines := 33 Colorear cada renglon?
Javier: lamentablemente no funciona. Tengo una BD de 33 Campos que los muestro
en una columna sola con CAMPO1+CRLF+CAMPO2+CRLF...hasta 32. A cada uno de esos renglones es qie quier
asignarle un color. Quizás no sea posible, seguiré investigando.
Muchas gracias
Saludos Ruben Fernandez
en una columna sola con CAMPO1+CRLF+CAMPO2+CRLF...hasta 32. A cada uno de esos renglones es qie quier
asignarle un color. Quizás no sea posible, seguiré investigando.
Muchas gracias
Saludos Ruben Fernandez
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: xBrowse:nDataLines := 33 Colorear cada renglon?
Ruben,
La Clase XBrowse te permite el pintado "personalizado" de las celdas, con lo que puedes mostrar en ellas lo que desees.
Tienes un ejemplo en: FWH/samples/metro2.prg en concreto revisa:
oBrw:aCols[ 1 ]:bPaintText = { | oCol, hDC, cText, aCoors, aColors, lHighlight | DrawRow( oCol, hDC, cText, aCoors, oFont ) }
En ese codeblock se implementa el pintado de una celda del browse. Ahora lo siguiente es ver como programar el pintado que tu quieres
Entiendo que tienes x lineas de texto y quieres que cada una se muestre de un color. Podrias hacer:
La Clase XBrowse te permite el pintado "personalizado" de las celdas, con lo que puedes mostrar en ellas lo que desees.
Tienes un ejemplo en: FWH/samples/metro2.prg en concreto revisa:
oBrw:aCols[ 1 ]:bPaintText = { | oCol, hDC, cText, aCoors, aColors, lHighlight | DrawRow( oCol, hDC, cText, aCoors, oFont ) }
En ese codeblock se implementa el pintado de una celda del browse. Ahora lo siguiente es ver como programar el pintado que tu quieres
Entiendo que tienes x lineas de texto y quieres que cada una se muestre de un color. Podrias hacer:
Code: Select all
function DrawRow( oCol, hDC, cText, aCoors, oFont )
local n
oFont:Activate( hDC )
for n = 1 to MLCount( cText )
if n % 2 == 0
SetBkColor( hDC, CLR_GRAY )
// SetTextColor( hDC, CLR_... )
else
SetBkColor( hDC, CLR_CYAN )
// SetTextColor( hDC, CLR_... )
endif
DrawText( hDC, MemoLine( cText,, n ), aCoors )
aCoors[ 1 ] += 25
next
oFont:DeActivate( hDC )
return nil
Re: xBrowse:nDataLines := 33 Colorear cada renglon?
Antonio: Muchas gracias, lo pruebo y aviso.
Saludos
Ruben Fernandez
Saludos
Ruben Fernandez
Re: xBrowse:nDataLines := 33 Colorear SOLUCIONADO
Gracias Antonio se solucionó con su fórmula
function DrawRow( oCol, hDC, cText, aCoors, oFont )
Local n
oFont:Activate( hDC )
for n = 1 to MLCount( cText )
if StrCharCount(MemoLine(cText, ,n ), ">" ) > 0
SetTextColor( hDC, CLR_HRED )
Else
SetTextColor( hDC, CLR_BLACK )
Endif
DrawText( hDC, MemoLine( cText,, n ), aCoors )
aCoors[ 1 ] += 12
next
oFont:DeActivate( hDC )
return nil
El caracter ">" fue el que use para diferenciar los dias de la semana con los sábados y domingos.
Muchas gracias
Saludos
Ruben Fernandez
function DrawRow( oCol, hDC, cText, aCoors, oFont )
Local n
oFont:Activate( hDC )
for n = 1 to MLCount( cText )
if StrCharCount(MemoLine(cText, ,n ), ">" ) > 0
SetTextColor( hDC, CLR_HRED )
Else
SetTextColor( hDC, CLR_BLACK )
Endif
DrawText( hDC, MemoLine( cText,, n ), aCoors )
aCoors[ 1 ] += 12
next
oFont:DeActivate( hDC )
return nil
El caracter ">" fue el que use para diferenciar los dias de la semana con los sábados y domingos.
Muchas gracias
Saludos
Ruben Fernandez