Page 1 of 1

COLORES EN LISTBOX

PostPosted: Sat Sep 23, 2006 3:16 am
by Marco Augusto
Al utilizar listbox, puedo modificar los colores
de los renglones, fondo y letras
tambien puedo cambiar los colores de el renglon seleccionado

oB:nClrPane:={|| IIF(INT(&cORDER->(ORDKEYNO())/2)=&cORDER->(ORDKEYNO())/2,CLR_1,CLR_2) }
oB:nClrText:=CLR_BLACK
oB:nClrBackFOCUS:=RGB(0,200,0)
oB:nClrForeFOCUS:=CLR_BLACK

Pero no puedo cambiar los colores del encabezado, utilizo lo siguiente:
oB:nClrBackHead:=CLR_BLUE
oB:nClrForeHead:=CLR_WHITE

( ESTO NO FUNCIONA, SIEMPRE PONE FONDO BLANCO Y LETRAS NEGRAS)

y
tampoco puedo cambiar los colores del renglon
cuando "no esta seleccionado"
SIEMPRE PONE UN COLOR GRIS DE FONDO Y LETRAS BLANCAS
se puede hacer algo ?

PostPosted: Sat Sep 23, 2006 6:06 am
by Antonio Linares
Marco,

Tienes que modificar el PRG de la Clase para que lo haga. Es fácil.

Estás usando la Clase TWBrowse de FWH ?

PostPosted: Sat Sep 23, 2006 8:17 pm
by Marco Augusto
Si utlizo la clase Twbrowse de fivewin

Lo que no se es en donde le tendria que modificar

Re: COLORES EN LISTBOX

PostPosted: Sun Sep 24, 2006 2:01 am
by El Loco
Marcos ,estas seguro que estan enlazando la libreria de Hernan ?

Un abrazo. El Loco =>))

PostPosted: Sun Sep 24, 2006 6:08 am
by Antonio Linares
Marco,

FWH dibuja un control "header" en la fila superior usando los temas de XP. Para que use tus colores debes eliminar estas líneas de la función wBrwLine() que está dentro de source\classes\wbrowse.prg:
Code: Select all  Expand view
            if nRowPos == 0 .and. IsAppThemed()
               DrawHeader( hWnd, hDC, nTop - 1, nLeft, nBottom, nRight, AnsiToOem( aValues[ n ] ) )
            else
               ...  // esto hay que dejarlo
            endif

PostPosted: Mon Sep 25, 2006 11:57 am
by MarioG
Marco:
Si está utilizando wBrowse de hernán en ael archivo de ayuda se puede leer:

0) Nuevas variables ::bTextColor y ::bBkColor. Son bloques de codigo que
se evalúan en tiempo de pintado. Pueden devolver una valor NUMERICO,
que representa el color RGB con el cual se pintar el texto o fondo,
segun el bloque. Si devuelve otro valor, los colores ser n los especi-
ficados en las respectivas varialbes de instancia de la clase.
Se env¡an 3 argumentos: {|nRow,nCol,nStyleLine| ... }
nStyleLine, puede asumir los siguientes valores:
0 -> Celda standard normal
1 -> Celda Header
2 -> Celda Footer
3 -> Celda standard normal seleccionada

0) Nueva variable: ::bFont. Es un bloque de codigo opcional, que se ejecuta
en tiempo de pintado, y envia 3 argumentos: {|nRow,nCol,nStyleLine| ... }
nStyleLine, puede asumir los siguientes valores:
0 -> Celda standard normal
1 -> Celda Header
2 -> Celda Footer
3 -> Celda standard normal seleccionada

saludos

PostPosted: Sun Nov 26, 2006 5:39 pm
by goosfancito
MarioG wrote:Marco:
Si está utilizando wBrowse de hernán en ael archivo de ayuda se puede leer:

0) Nuevas variables ::bTextColor y ::bBkColor. Son bloques de codigo que
se evalúan en tiempo de pintado. Pueden devolver una valor NUMERICO,
que representa el color RGB con el cual se pintar el texto o fondo,
segun el bloque. Si devuelve otro valor, los colores ser n los especi-
ficados en las respectivas varialbes de instancia de la clase.
Se env¡an 3 argumentos: {|nRow,nCol,nStyleLine| ... }
nStyleLine, puede asumir los siguientes valores:
0 -> Celda standard normal
1 -> Celda Header
2 -> Celda Footer
3 -> Celda standard normal seleccionada

0) Nueva variable: ::bFont. Es un bloque de codigo opcional, que se ejecuta
en tiempo de pintado, y envia 3 argumentos: {|nRow,nCol,nStyleLine| ... }
nStyleLine, puede asumir los siguientes valores:
0 -> Celda standard normal
1 -> Celda Header
2 -> Celda Footer
3 -> Celda standard normal seleccionada

saludos


Podrias explicarme como es el uso del bfont, porque no lo entiendo, necesito que las celdas del tw tengan un determinado font.

Gracias.

PostPosted: Sun Nov 26, 2006 6:34 pm
by El Loco
goosfancito wrote:
MarioG wrote:Marco:
Si está utilizando wBrowse de hernán en ael archivo de ayuda se puede leer:

0) Nueva variable: ::bFont. Es un bloque de codigo opcional, que se ejecuta
en tiempo de pintado, y envia 3 argumentos: {|nRow,nCol,nStyleLine| ... }
nStyleLine, puede asumir los siguientes valores:
0 -> Celda standard normal
1 -> Celda Header
2 -> Celda Footer
3 -> Celda standard normal seleccionada

saludos


Podrias explicarme como es el uso del bfont, porque no lo entiendo, necesito que las celdas del tw tengan un determinado font.

Gracias.


Si por ejemplo queres cambiar el font cuando la celda esta seleccionada:

Define Font oFont1 Name "Arial" Size 0, -12
Define Font oFont2 Name "Arial" Size 0, -12 Bold Italic

oBrw:bFont:= {|nRow,nCol,nStyleLine| Iif( nStyleLine = 3 , oFont1:hFont , oFont2:hFont ) }

Todas las celdas:
oBrw:bFont:= {|nRow,nCol,nStyleLine| Iif( nStyleLine = 0 , oFont1:hFont , oFont2:hFont ) }
etc.
Espero que esto te guie.

Un abrazo. El Loco =>))